
안녕하세요 우수한 서버 전문가입니다!
저는 MySQL 데이터베이스와 함께 Apache Tomcat 서비스를 호스팅하는 Ubuntu 서버를 실행하고 있습니다. 주중 가장 바쁜 시간에도 서버 로드는 항상 0에 가깝습니다. 그럼에도 불구하고 일주일에 1~2번씩 전체 서버가 응답하지 않는 무작위 끊김 현상이 발생합니다.
이 잠금의 흥미로운 효과는 모든 cronjob이 예정보다 늦게 실행되는 것처럼 보인다는 것입니다. 적어도 다양한 시스템 로그의 타임스탬프가 이를 나타냅니다. 따라서 Tomcat 서비스의 일부로 실행되는 사용자 정의 소프트웨어뿐만 아니라 실제로 전체 서버가 정지되는 것으로 보입니다. 끊김 현상은 일반적으로 약 3~5분 동안 지속되며 그 후에는 모든 것이 정상으로 돌아옵니다.
Hardware:
Model: Dell PowerEdge R720, 16 cores, 16 GB ram
HDD-configuration: Raid-1 (mirror)
Main services:
apache tomcat, mysql, ssh/sftp
#uname -a
Linux es2 2.6.24-24-server #1 SMP Tue Jul 7 19:39:36 UTC 2009 x86_64 GNU/Linux
sysstat를 실행하면 고객이 백엔드 시스템 문제를 보고한 시점과 정확히 일치하는 평균 로드와 디스크 블록 대기 모두에서 엄청난 피크를 볼 수 있습니다. 다음은 오후 12시 30분경에 매우 확실한 피크를 보이는 sar의 디스크 사용량에 대한 도표입니다.
이것을 외부 서버에 올려놓은 것에 대해 진심으로 사과드립니다. 그러나 제 담당자는 여기에 파일을 직접 포함시키기에는 부족합니다. 또한 링크는 하나만 게시할 수 있으므로 함께 묶어야 했습니다. S
Sar 플롯:http://213.115.101.5/abba/tmpdata/sardata_es.jpg
그래프 1: 블록 대기, 약 12.58에서 util%가 어떻게 100%까지 올라가는지 확인하세요.
그래프 2: 블록 전송, 여기에는 특별한 것이 없습니다.
그래프 3: 평균 부하, 그래프 1과 함께 최고치
그래프 4: CPU 사용량, 여전히 0%에 가깝습니다.
그래프 5: 메모리, 특이사항 없음
무엇이 시스템에 이런 영향을 미칠 수 있는지에 대한 단서가 있는 사람이 있습니까? 앞서 설명했듯이 서버에서 실행되는 유일한 소프트웨어는 사용자가 데이터베이스에 연결할 수 있도록 하는 SOAP 인터페이스가 있는 Tomcat 서버입니다. 원격 애플리케이션도 SSH를 통해 서버에 연결하여 파일을 가져오고 업로드합니다. 바쁜 시간에는 약 50개의 동시 SSH/SFTP 연결이 있고 http(soap/tomcat)를 통한 연결은 1~200개 이하인 것으로 추측됩니다.
인터넷 검색에서 파일 핸들과 inode 핸들에 대한 토론을 찾았지만 이것이 2.6.x 커널에서는 정상이라고 생각합니다. 동의하지 않는 사람이 있나요?
cat /proc/sys/fs/file-nr
1152 0 1588671
cat /proc/sys/fs/inode-state
11392 236 0 0 0 0 0
동시에 "sar -v"는 위의 끊김 시간 동안 이러한 값을 표시하지만 여기의 inode-nr은 항상 위에 비해 매우 높습니다.
12:40:01 dentunusd file-nr inode-nr pty-nr
12:40:01 40542 1024 15316 0
12:45:01 40568 1152 15349 0
12:50:01 40587 768 15365 0
12:55:01 40631 1024 15422 0
13:01:02 40648 896 15482 0
13:05:01 40595 768 15430 0
13:10:01 40637 1024 15465 0
나는 하드웨어, OS, 소프트웨어, RAID 구성 등의 동일한 설정을 실행하는 두 개의 독립적인 서버에서 이것을 보았습니다. 따라서 하드웨어보다 소프트웨어/구성에 더 의존적이라고 믿고 싶습니다.
시간 내주셔서 정말 감사합니다
/Ebbe
답변1
이 버그에서 보고된 바와 같이 문제는 Ubuntu 8.04 LTS(Hardy)와 Dell PERC 6/i RAID 컨트롤러 간의 비호환성 문제와 관련되어 있습니다.https://bugs.launchpad.net/ubuntu/+source/linux/+bug/607167 Ubuntu 10.04 LTS Lucid(커널 2.6.32)로 업그레이드하면 문제가 해결됩니다.
다른 사람도 같은 문제에 직면하는 경우.
답변2
전체 테이블 스캔을 수행하는 무거운 쿼리를 실행 중일 수 있습니다. 느린 쿼리 로그를 확인하셨나요?
그렇다면 적절한 인덱스를 추가하십시오.
추신: 이미 이 작업을 수행하셨다면 죄송합니다.