|
||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||
| thread_cacheについて | ||||||||||||||
|
これまで掲載してきた結果のグラフに線が引いてあるのに、あえて本文ではThreads_createdに触れませんでした。しかし、この値をよく見るとmax_used_connectionsの変化とThreads_createdの推移は似通っていて、緑線の手前までは順調に増加し、緑線以降は横ばいになっていることに気づきます。 この傾向は「同時接続数が増加するにつれてMySQLサーバでは新たなスレッド生成に忙しくなり、ついには一度に生成できるスレッド数の限界に達してしまった」ということをあらわしています。 ではスレッドの生成を抑えることができれば、性能は向上するのではないでしょうか。そのためのパラメータが「thread_cache」です。 thread_cacheではその名の通り「スレッドをいくつキャッシュしておくか」を指定する項目です。通常、MySQLはクライアントからの要求を受けてスレッドを生成し、処理が完了すればスレッドを終了します。ですが、スレッドの生成・終了にはある程度のサーバリソースを消費しますので、クライアントからの要求が増えればその負荷も増大します。 こうしたケースに対応するためthread_cacheを設定し、一度生成したスレッドを終了せずに維持しておき、次に別のクライアントから要求があった際に再利用します。そうすることによって、スレッドの生成、終了処理によるサーバ負荷の増大を防ぐことができるのです。 |
||||||||||||||
| 現在キャッシュされているスレッド数の確認方法 | ||||||||||||||
|
現在キャッシュされているスレッドの数ですが、これは「第2回:負荷によるベンチマークを試すで示したようにThread_cached=0となっていたはずです。では現在、thread_cacheはいくつに設定されているのでしょうか。以下のコマンドを用いて実際に確認してみましょう。 thread_cacheは0になっています。つまりデフォルトではthread_cacheは使わない、という設定になっているのです。 |
||||||||||||||
| thread_cacheのチューニング | ||||||||||||||
|
ではthread_cacheの値を変えてどのように変わるのかを調べてみましょう。thread_cacheの設定方法はmax_connectionsと同様です。設定値はmax_connectionsと同じ450に変更します。
[mysqld]
その後、MySQLサービスを再起動します。
# /etc/init.d/mysql restart
稼動中の設定変更も可能ですが、こちらの場合は名称がthread_cache_sizeとなりますので、注意してください。
$ mysql -u root -p
ではthread_cacheを変更した際の結果を確認しましょう。 ![]() |
||||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||



