
우리는 PHP-CGI를 사용한 표준 lighttpd 배포를 갖고 있으며 오류 로그에는 다음과 같은 내용이 넘쳐납니다. 우리가 고객에게 계속해서 500을 반환하기 때문에 이는 큰 문제를 야기하고 있습니다.
2012-10-14 14:28:38: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 36
2012-10-14 14:28:38: (mod_fastcgi.c.2764) fcgi-server re-enabled: 0 /tmp/php-7735.socket
2012-10-14 14:28:39: (mod_fastcgi.c.2764) fcgi-server re-enabled: 0 /tmp/php-7735.socket
2012-10-14 14:28:40: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 37
2012-10-14 14:28:40: (mod_fastcgi.c.2764) fcgi-server re-enabled: 0 /tmp/php-7735.socket
2012-10-14 14:28:41: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 57
2012-10-14 14:28:41: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 57
2012-10-14 14:28:42: (mod_fastcgi.c.3597) all handlers for /index.php? on .php are down.
무슨 일이 일어나고 있는지 아는 사람이 있나요? 모든 php 및 lighttpd 관련 프로세스를 다시 시작했지만 문제가 해결되지 않았습니다. 우리는 결국 전체 상자를 재부팅했고 지금은 사라졌지만 나중에 다시 나타날까 두렵습니다....
일반적으로 우리의 배포는 오랫동안 잘 진행되어 왔고 이런 일이 발생한 것은 이번이 처음입니다.
답변1
이는 기본적으로 모든 PHP 프로세스가 요청을 처리하는 중이며 새로 들어오는 요청을 처리하는 데 사용할 수 있는 무료 PHP 프로세스가 없음을 의미합니다. 이로 인해 500 오류가 발생합니다.
일반적으로 이는 실행 중인 PHP 코드가 느리고 PHP 프로세스를 압도한다는 의미입니다. mysql 느린 로그를 활성화하여 느린 쿼리가 원인인지 확인하고, APC와 같은 PHP opcode 캐싱을 사용해 속도를 조금 높이세요.