web-dev-qa-db-ja.com

応答しないデータベース、スリーププロセス

mysqlデータベースが突然応答しなくなりました。

OperationalError: (2003, "Can't connect to MySQL server on '<IP_address>' (110)")

プロセスを強制終了した後:

+-------+-------+----------+-----------+---------+------+-------+------------------+
| Id    | User  | Host     | db        | Command | Time | State | Info             |
+-------+-------+----------+-----------+---------+------+-------+------------------+
| 11162 | pydev | ip:6984  | Django_db | Sleep   | 3279 |       | NULL             |
| 11178 | pydev | ip:6985  | Django_db | Sleep   | 1995 |       | NULL             |
| 11182 | pydev | ip:6986  | Django_db | Sleep   | 1405 |       | NULL             |
| 11185 | pydev | ip:1168  | NULL      | Query   |    0 | NULL  | show processlist |
+-------+-------+----------+-----------+---------+------+-------+------------------+

それは再び働き始めました。スリープするプロセスの最大量に制限はありますか?

4
george

Q:スリープするプロセスの最大数に制限はありますか?

A:MySQLサーバーへの接続数には制限があり、「スリープ」状態の接続だけでなく、すべての接続に適用されます。

制限はmax_connectionsユーザー変数。 (デフォルト値は151です。)

単一のユーザーアカウントからの接続数にも制限があります。ユーザーアカウントで指定されたゼロ以外の値、またはmax_user_connectionsシステム変数。

SHOW VARIABLES LIKE 'max%connections'

Variable_name         Value
--------------------  --------
max_connections       1000
max_user_connections  200

(Windowsプラットフォームでは、MySQL自体によって課せられる制限に加えて、いくつかの追加の制限がある場合があります。たとえば、接続を「チャーン」する場合、Windowsが使用されなくなったポートを返すまで、利用可能なポートを一時的に使い果たすことができます。)


リファレンス: http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_max_connections

1
spencer7593