서버 리소스가 양호하지만 내 사이트가 왜 느리게 응답하는지 파악하려고 머리를 긁은 후 마침내 Apache 상태를 확인하고 다음을 발견했습니다.
78 requests/sec - 0.7 MB/second - 8.5 kB/request
256 requests currently being processed, 0 idle workers
내 아파치가 문자 그대로 연결로 최대 값을 초과 한 것으로 보입니다. 내 사이트를 방문하려는 사람은 Apache가 다시 해제 될 때까지 "대기 목록"에 표시됩니다.
두 가지 옵션이있는 것 같습니다.
A) 최대 연결 제한을 256 이상으로 올리십시오. 이 기사 에 따르면 쉽지는 않습니다.
기본적으로 MaxClients 매개 변수는 컴파일 된 하드 제한이 256입니다. 그러나 Apache를 다시 컴파일하여 변경할 수 있습니다. 일부 배포 또는 호스팅 회사는 큰 부하에 대처하기 위해 512 또는 1024와 같은 매우 높은 값으로이 제한을 높입니다.
B) 너무 많은 시간이 걸리는 스크립트를 찾으십시오. 대부분의 아파치 프로세스가 나타나서 다시 사라지기 때문에 이것은 훨씬 까다로워 보입니다. 또한 내 사이트 PHP 스크립트는 꽤 잘 최적화되어 있습니다 ... 그리고 다시 한 번 서버 리소스는 좋습니다.
Server load 2.69 (8 CPUs)
Memory Used 25.33% (2,039,108 of 8,048,804)
Swap Used 1.32% (54,156 of 4,095,992)
어떤 옵션 (둘 중 하나)을 선택해야하며 어떻게해야합니까?
편집하다
추가 정보 : 서버 버전 : Apache / 2.2.23 (Unix) mod_ssl / 2.2.23 OpenSSL / 1.0.0-fips DAV / 2 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635
HTTP Conf : http://pastebin.com/yBeLt6mP
Parital 요청 샘플 : http://pastebin.com/vzUVDMPR
붙여 넣기가 이상하게 표시되면 텍스트 줄 바꿈을 전환합니다.