|
||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||
| デフォルト値での性能測定 | ||||||||||||||
|
まずtable_cacheをチューニングしない状態での性能測定結果をみてみましょう。なお、最初に確認したように、table_cacheは64がデフォルト値です。 図1のグラフは再測定したわけではなく、前回のthread_cacheチューニング後の測定結果からMax_used_connectionsとThreads_createdのデータを除き、Open_tablesとOpened_tablesに差し替えてグラフにしたものです。 Open_tablesは小さい値なのでわかりづらいのですが、最初に少し増加して、それ以降は64で一定となっており、デフォルトの最大値で維持されていることがわかります。 一方Opened_tablesを見ると、多いときは数1,000ものテーブルが開かれており、その処理のためのサーバに負荷がかかっていることが予想されます。 |
||||||||||||||
| table_cacheのチューニング | ||||||||||||||
|
ではthread_cacheの値を変更してみましょう。変更方法はこれまでと同様です。今回はjoinを含むようなクエリはありませんので、max_connectionsと同じ値に設定します。
[mysqld]
その後、MySQLサービスを再起動します。
# /etc/init.d/mysql restart
一方、MySQLサービスが稼動中で、これまでのパラメータと同様に変更可能です。その場合は以下のように指定します。
$ mysql -u root -p
では変更結果を確認しましょう。 ![]() |
||||||||||||||
| table_cacheチューニング後の測定結果 | ||||||||||||||
|
table_cacheチューニング後、再度測定を行った結果は以下の通りでした。 Open_tablesは同時接続数の増加に伴い最終的には211まで増えましたが、max_connectionsまでは必要とされなかったようです。一方、Opened_tablesは改善され、開かれるテーブル数は激減しました。 ただしQueries_per_secにはそれほど明確な改善はみられませんでした。同時接続数が300〜400の間(Open_tablesが211になって以降)はかなり安定した値になっており、高負荷時にはtable_cacheの効果があったといえるのではないでしょうか。 |
||||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||




