問題のプログラムはスキン ステーションであり、多くの場合データベース クエリが必要です。 mysqli カプセル化に基づいたデータベース クラスがあり、大量の無駄な接続が残らないようにするために、__destruct()
で現在のデータベース接続を閉じるステートメントを書きました。
しかし、最近一部のユーザーから User 'u173999462_rg' has exceeded the 'max_user_connections' resource (current value: 3)
エラーが報告され、接続の最大数に達したとの報告がありました。
を制限していないため、開発中は特に注意を払わず、デストラクターで接続を閉じるだけでした。これしか方法はないのでしょうか? max_user_connections
最適化方法はありますか?
返信内容:
で現在のデータベース接続を閉じるステートメントを書きました。 __destruct()
エラーが報告され、接続の最大数に達したとの報告がありました。 User 'u173999462_rg' has exceeded the 'max_user_connections' resource (current value: 3)
MySQL はデフォルトで
max_user_connections
プログラムデータベースクラスアドレス:@GitHub
最適化方法はありますか?
PHP のシングルトン モードを探すと、問題は解決できるはずです。遭遇する問題は、MySQL 接続を再利用できないことです。
1. この値を高く設定するだけです。 3. キャッシュが使用されていませんか?私の理解では、データが頻繁に更新されない場合は、それを Redis に保存し、キャッシュ戦略を作成するだけです。