12

mysql サーバーに接続する Web アプリケーションにストレス テストを挿入し、mysql の show processlist を監視しています。

負荷が高い (スワップ i/o が高い) 場合、次のような多くのプロセスが発生します。

| 97535 | db| localhost | userA | Sleep   |  515 |         | NULL 
| 97536 | db| localhost | userA | Sleep   |  516 |         | NULL 
| 97786 | db| localhost | userA | Sleep   |  343 |         | NULL 
| 97889 | db| localhost | userA | Sleep   |  310 |         | NULL 

しかし、なぜ彼らがまだそこにいて、殺されていないのか理解できません。これにより、最終的にアプリがすべての max_connections を使用し、受信リクエストの処理を停止することになります...

それらのプロセスとは何か、そしてそこで何をしているのか:)?

4

2 に答える 2

15

これらは、クライアントによって保持されているアイドル接続です。使用しているクライアント ライブラリ (JDBC など) が、未使用の接続を長時間開いたままにしないように構成されていること、または # クライアント * 最大接続数が大きすぎないことを確認する必要があります。

于 2010-10-29T16:36:37.993 に答える