
У нас есть стандартное развертывание lighttpd с PHP-CGI, и наши журналы ошибок переполнены следующим. Это вызывает огромную проблему, поскольку мы продолжаем возвращать 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, чтобы увидеть, являются ли медленные запросы причиной, попробуйте кэширование php-кода операций, например APC, чтобы немного ускорить процесс.