私のホスティング会社は、約1週間前に私のサーバーを最新のシステムに移動し、1つのクエリに対する小さなORDERBYの問題を除いて、すべてがスムーズに実行されています。
昨夜突然私のサイトが遅くなり始め、アップストリームに接続している間にエラーログが「Socket()failed(24:Too Many Open Files)」エラーでいっぱいになったことがわかりました。私のカスタムCMSマネージャに問題があると思って昨夜数時間作業しましたが、突然エラーメッセージが消え、すべてがスムーズに実行され始めました。
今日の午後からサーバーに再び問題が発生し始めました。コンピュータを再起動すると、すぐにnginxエラーログが同じエラーでいっぱいになり始めました。今回も約10分後にエラーが停止し、それ以降サーバーはスムーズに実行されています。
私はUNIX管理者ではありませんが、かなり論理的に考えることができます。ここで何が起こっているのかわかりません。
答え1
確認できますulimit-nシステムが許可するファイルの数を確認するには、nginxがrootとして実行されていない場合は、ユーザーにそれを設定できます。一時修正でまだ最大値に設定されていない場合は、値を増やすことができます。/etc/security/limits.conf。また、アプリケーションが接続をアクティブに保ち、閉じないようにしてください。アプリケーションの問題のようです。
ユーザー名の代わりに*を使用すると、すべてのユーザーに適用されます。
/etc/security/limits.conf
* soft nofile 1024
* hard nofile 65535