私はmysqlでDjangoを使用しており、接続が多すぎるというこの問題があります。
コマンドラインからpythonスクリプトを実行しましたが、Djangoモデルと統合してデータベースからのデータをチェックしました。スクリプトは 30 秒ごとに実行され、それを制御するためにスレッドを使用します。My_function は、データベースのステータスをチェックする関数です。
while True:
now = time.time()
if now < next:
time.sleep(next - now)
t = Thread(target=my_function,)
t.start()# start a thread
next += interval
問題は、mysql サーバーを監視するときです。常時 10 本ほどの接続があり、すべてスリープ状態です。理由がわかりません。常に実行されている 2 つのアクティブな Python スレッドがあり、他のすべてのスレッドは終了すると終了します。なぜmysql接続は10のようなものですか? 誰でも私を助けることができますか?とても感謝しています!
更新 1: mysql プロセスリストのスクリーンショットを追加します。接続はすべてスリープ モードで何もせず、接続を作成するスレッドは既に終了しています。それは本当に奇妙です。
+------+------+-----------------+----------+---------+-------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+------+------+-----------------+----------+---------+-------+-------+------------------+
| 411 | root | localhost:47347 | NULL | Sleep | 2 | | NULL |
| 412 | root | localhost:47350 | NULL | Sleep | 3 | | NULL |
| 479 | root | localhost | NULL | Sleep | 27164 | | NULL |
| 918 | root | localhost | EZ_Green | Sleep | 14006 | | NULL |
| 953 | root | localhost | EZ_Green | Sleep | 12956 | | NULL |
| 989 | root | localhost | EZ_Green | Sleep | 11874 | | NULL |
| 1025 | root | localhost | EZ_Green | Sleep | 10796 | | NULL |
| 1061 | root | localhost | EZ_Green | Sleep | 9716 | | NULL |
| 1097 | root | localhost | EZ_Green | Sleep | 8636 | | NULL |
| 1132 | root | localhost | EZ_Green | Sleep | 7586 | | NULL |
| 1168 | root | localhost | EZ_Green | Sleep | 6506 | | NULL |
| 1204 | root | localhost | EZ_Green | Sleep | 5426 | | NULL |
| 1240 | root | localhost | EZ_Green | Sleep | 4346 | | NULL |
| 1276 | root | localhost | EZ_Green | Sleep | 3266 | | NULL |
| 1312 | root | localhost | EZ_Green | Sleep | 2186 | | NULL |
| 1348 | root | localhost | EZ_Green | Sleep | 1106 | | NULL |
| 1384 | root | localhost | EZ_Green | Sleep | 26 | | NULL |
| 1385 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+------+------+-----------------+----------+---------+-------+-------+------------------+