
私は現在、クライアントの専用サーバー上で PHP ウェブサイトを操作しており、定期的にエラーが発生しますtoo many connections
が、約 5 人のユーザーがこのページを閲覧しています。
では、変数が に設定されているphpMyAdmin
ことがわかります。max connections
400
私の会社のローカル MySQL サーバーでは にmax connections
設定されており200
、他のメンバーも同時にこのサーバーを使用しています。
彼らのサーバーでは、他の Web サイトで同じ MySQL が大量のトラフィックで使用されていると聞きました。
私の質問は次のとおりです:
- この問題をデバッグするにはどうすればいいでしょうか?
- 過去 10 分間に実行された SQL クエリのリストを調べて、それが私たちの問題なのか、それとも彼らの問題なのかを確認することはできますか?
答え1
あなたが説明した症状は、持続的な接続を示しています。一部の設定では、PHP は持続的な接続をうまく処理できません。既存の接続を再利用するのではなく、新しい接続を開く傾向があります。この機能を無効にして、問題が解決するかどうか確認することをお勧めします。
- コードレベル: 呼び出しを見つけるmysql_pconnect()そしてそれをmysql_connect()。
- 構成レベルでは、mysql.allow_persistentディレクティブを false に設定します。
改善が見られた場合は、持続的な呼び出しを微調整するか、永続的に削除してみてください。