nginxで高負荷時に「upstream timed out (110: Connection timed out) 」とかエラーがでる

   

■nginxで稀にエラーが発生して500系のエラーがでる

以下のようなエラーメッセージが吐き出されていました。APIサーバで発生していたので、結構たくさんのアクセス(1秒間に1500~2000アクセス)あったときに本当に稀に出ていました。

upstream timed out (110: Connection timed out) while reading response header from upstream

 

どうにも、バックエンドのphp-fpmに接続して、戻りを待っているときにタイムアウトが発生してnginx側から接続を切っているようでした。一旦タイムアウトの時間を伸ばして対応することにしました。

 

■暫定対応

以下の設定をnginxの設定のところに追加しています。60秒がデフォルトでタイムアウトが発生していたようですね。一旦、暫定対応で時間を伸ばします。

fastcgi_read_timeout 120;

 

根本的に時間がかかっていたり、php-fpmへの接続がうまく行かなかったりしているのでもっとチューニングが必要そうですね。

megane

megane

最近、個人事業主から法人へと進化しました。 エンジニア歴13年位です。PHPとかMysqlを使ってWebシステムを構築します。 Javaも書きます。 CakePHPも使います。 サーバのチューニングもごりごりやります。 あと、お肉と自動車が好きです。Twitterとか申請どうぞ。

 - nginx, PHP ,