アイドル状態の MySQL の「スリープ」接続に起因する「接続が多すぎる」エラー
このシナリオでは、「スリープ」中の過剰なアイドル接続この状態により、MySQL での「接続が多すぎます」エラーの頻度が増加しました。接続制限を引き上げたにもかかわらず、これらの冗長接続の根本原因は依然としてわかりません。
原因分析
スリープ接続は通常、PHP スクリプトがデータベース接続を確立し、クエリを実行しないときに発生します。すぐに切断します。その結果、サーバーのリソースが制限され、本物の接続の確立が困難になります。
解決策
PHP スクリプトを最適化する
PHP スクリプトは過度に長時間実行されず、必要がなくなったらデータベースから切断されること。
クエリの実行時間を短縮する
時間のかかるクエリを最適化するデータベースサーバーの負荷を軽減します。これにより、スタックするプロセスの数が最小限に抑えられます。
MySQL 設定を構成する
wait_timeout の値 (デフォルト: 8 時間) を増やして、MySQL が非アクティブな接続をより迅速に終了できるようにします。 。予想されるトラフィックに基づいて、許可される同時接続数 (max_connections) を増やすこともできます。
トラフィックを監視
Apache トラフィックと MySQL を追跡 - 接続使用量を追跡してピークを特定する時代と珍しいパターン。これにより、負荷を処理するために PHP および MySQL の設定を調整できます。
代替の接続方法を検討してください
永続的な接続は、場合によっては負荷を軽減するのに役立ちます。確立および切断された接続の数。ただし、特にスクリプトを長時間実行する場合は、その使用を慎重に検討する必要があります。
これらの対策を実装することで、スリープ接続の数を減らし、データベース サーバーの負荷を軽減することができます。 「接続の修正が多すぎます」エラーを減らします。
以上が記事のタイトルとしては次のようなものが考えられます。 制限を増やした後でも、MySQL サーバーが「接続が多すぎます」エラーをスローし続けるのはなぜですか? このタイトルは質問です。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。