通常、MySQLのスレッド処理は、クライアント接続の度「生成・破棄」を繰り返します。「thread_cache_size」のパラメータを設定することで、設定した値の数だけスレッドが破棄されないようになり、他のクライアントからの接続に再利用することができるようになります。(2014/01/26作成)
ColossusCloud / Pixabay
0)環境
$ mysql --version mysql Ver 14.14 Distrib 5.5.25a, for Linux (i686) using readline 5.1
1)設定前
mysql> SHOW STATUS LIKE '%Threads_%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 0 | | Threads_connected | 2 | | Threads_created | 15833 | | Threads_running | 1 | +-------------------+-------+ 4 rows in set (0.00 sec)
2)設定内容
$ sudo vi /etc/my.cnf max_connections=256 thread_cache_size=70 wait_timeout=10
max_connections …最大同時接続数。
thread_cache_size …スレッドキャッシュの数。
wait_timeout …DBへのコネクションのタイムアウト時間。
3)設定後
mysql> SHOW STATUS LIKE '%Threads_%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 1 | | Threads_connected | 1 | | Threads_created | 2 | | Threads_running | 1 | +-------------------+-------+ 4 rows in set (0.00 sec)
以上