
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 オペコード キャッシュを試して、速度を少し上げてください。