nginxで実行されている非常にトラフィックの少ないサイトで、4つのワーカーがあり、それぞれ1024の接続があります。
数時間ごとに「1024 worker_connectionsでは不十分」というエラーログが表示され、サイトの速度が低下したり、不安定になったりします。nginxの再起動により、次の数時間は問題が完全に解決されます。
明らかに奇妙なことが起こっています。アプリケーションの4k同時ユーザーにサービスを提供する方法はありません。
アクセスログ(正常に見える)を見る以外に、nginxが何をしているのかを詳細に観察する方法はありますか?
古い接続が開いたままになり、閉じられないという悪名高い設定の組み合わせはありますか?
ありがとう。
編集 このルックス権利はありません
# lsof |grep nginx |grep CLOSE_WAIT |wc -l
1271
プロキシパスを使用していますか?
—
Dan R
いいえ、プロキシ設定は使用していません。それは乗客のレールサイトです。
—
John Bachir、2010
nginx.org/en/docs/debugging_log.htmlを有効にして、どのリクエストが発生したかを確認してみてください。乗客・レールに詳しくない。これがWebクライアントに接続するポート上にある場合、クライアントは接続を閉じていますが、nginxはその側を閉じていません。
—
Dan R