서버로드 증가 원인을 찾는 방법 이상입니다. Linux gir 2.6.26-2-amd64 # 1

내 서버에로드 문제가 있으며 다소 경험이 풍부한 Linux 관리자이지만 아이디어가 없습니다.

문제는 명백한 원인없이 서버에서 느리지 만 꾸준히 증가하는 부하입니다.

서버는 6GB RAM이 장착 된 AMD Athlon (TM) 64 X2 듀얼 코어 프로세서 6000 이상입니다. Linux gir 2.6.26-2-amd64 # 1 SMP Wed Aug 19 22:33:18 UTC 2009 x86_64 GNU / Linux에서 Debian Stable을 실행하고 있습니다.

서버는 기본적으로 Lighttpd, 여러 FastCGI PHP 프로세스 및 MySQL 데이터베이스를 실행합니다. 일반적인 웹 서버 작업.

CPU는 실제로 완전히 사용되지 않으며 메모리는 주로 버퍼 및 캐시에 사용됩니다. 여러 서비스를 다시 시작하여 그 중 하나가 다시로드를 줄이려고했는지 확인했지만 운이 없었습니다.

다음은로드, CPU 및 IOStat를 보여주는 그래픽입니다.

따라서 질문은 무엇입니까? 무엇이 느리지 만 계속 증가하는 부하를 유발할 수 있습니까? 그리고 책임이 무엇인지 어떻게 알 수 있습니까?

업데이트 : 서버를 재부팅 할 때 부하가 약 0.3에서 0.6으로 감소하고 다음 주에 걸쳐 천천히 다시 상승하기 시작한다는 것을 언급하지 않았습니다.



답변

각 좀비 프로세스는 부하에 1.0을 추가합니다. 좀비가 쌓이는 것을 볼 수 있습니다.


답변

나는 다른 질문 에 대한 훌륭한 힌트를 발견 했다 .

상태 ‘D’에서 프로세스를 찾는 것은로드 곡선의 “단계”에 해당하는 꽤 오랫동안 멈추는 것처럼 보이는 4 개의 PHP 프로세스를 보여줍니다.

#> ps aux | awk '$8 ~ /D/  { print $0 }'
wiki      6651  0.0  0.0      0     0 ?        D    Oct04   0:41 [php-cgi]
bugs      6731  0.0  0.0      0     0 ?        D    Oct27   0:14 [php-cgi]
manpages  7536  0.0  0.0      0     0 ?        D    Oct30   0:21 [php5-cgi]
wiki     23847  0.0  0.0      0     0 ?        D    Oct06   1:32 [php-cgi]

그래서 이것들은 문제인 것 같습니다. 이제 프로세스가 중단되는 동안 어떻게 해결해야하는지 알아야합니다. 모두 감사합니다.


답변

내 생각 엔 서버가 IO 굶주린 것 같습니다. 아마도 iotop 통계를 그래프에 추가해야합니다.

서버로드의 요소 인 응용 프로그램 당 활동을 가질 수 있는지 궁금합니다.

http://rt.wiki.kernel.org/index.php/I/Otop_utility

다른 도구는 dstat입니다


답변

I / O 인 경우 CPU 그래프에서 iowait (분홍색)가 표시됩니다.


답변

이러한 종류의 문제는 종종 MySQL 데이터베이스와 HTTP 서버에 필요한 데이터를 제공하기에 충분히 빠르지 않은 하드 디스크에서 발생합니다. iostat 명령을 봐야합니다


답변

일반적으로 서버로드가 높은 것은 실제로 나쁜 일이 아닙니다. 그것은 당신이 유휴 상태에 있지 않고 당신이 할 수있는 것보다 적은 일을하고 있다는 것을 의미합니다. 전체 용량의 80 % -90 %로드 (일부 “버스트”공간 포함)는 일반적으로 찾는 것입니다. mpstat 및 vmstat의 출력을 확인하는 것이 좋습니다. 특히, vmstat의 처음 두 숫자는 실행 큐의 프로세스 측면에서 “백업”되는 방법에 대한보다 의미있는 정보를 제공 할 수 있습니다. vmstat 출력의 마지막 열 ( “wa”)은 I / O 완료를 기다리는 경우와 시간을 알려줍니다. 실행 큐 크기와 I / O 대기 시간은 종종 상관 관계가 있습니다. 또한 sysstat 패키지에서 sar을 확인하십시오. 일정 기간 동안 발생한 상황에 대한 자세한 정보를 제공합니다. 기록하는 메트릭은 매우 철저합니다.


답변