2

最近、私が取り組んでいる ac# Web サイトは - をスローしています。

mysql が「max_user_connections」を超えました

エラー。コードを確認したところ、開いているすべての接続を閉じる必要があるときに閉じていると思います。コマンドを実行するSHOW PROCESSLISTと、このスタック オーバーフローの質問と同様に、状態が「スリープ」で「情報」が null のプロセスが多数リストされます。

Mysql show processlist には、多くのプロセスのスリープと情報 = null が表示されますか?

データベースのセットアップまたは接続文字列で、MySql がプロセスにハングアップするのを防ぐためにできることはありますか? 私の接続文字列は現在次のようになっています-

server=server;User Id=user;password=****;Persist Security Info=True;database=mysql5_867860_footytriv;Pooling=true;Min Pool Size=10;Max Pool Size=15

この Web サイトは、discountasp.net でホストされています。

4

1 に答える 1

0

これには多くの調査が必要です。通常、ご存じのとおり、MYSQL は接続プールから接続インスタンスを管理します。場合によっては、すべての接続が使用中になることがあります。

これにより、次の 2 つの問題が発生します
。 1. 実行にかなり時間がかかるクエリがあり、接続を解放していません (冗長なクエリ、実行時間の長いクエリなど)
2. サーバーの負荷が高すぎて、非常に多くのユーザーを処理するには、ハードウェアの構成が十分ではありません。

結論を出す前に、これらすべてを測定する必要があります。構成ファイルを微調整して、メモリや接続数などを増やすことができますが、役に立たないと思います!

于 2012-05-09T07:02:46.813 に答える