|
||||||||||||||
| 前のページ 1 2 3 | ||||||||||||||
| ブロック単位のメモリ割り当て | ||||||||||||||
|
その他の項目では「ブロック」という言葉がでてきます。これはMySQLサーバのクエリキャッシュでは、サーバの負荷となるメモリ割り当て処理をなるべく減らす手法として、メモリをブロック単位(query_cache_min_res_unit)で扱うためです。 MySQLサーバは、ブロック単位で割り当てたメモリ中にクエリ結果を入れ、余った部分は切り詰めて開放するという動作をしますが、この際に断片化(フラグメンテーション)が発生します。断片化したメモリ領域は再利用できないので無駄な領域となってしまいます。この断片化したブロックをあらわすのがQcache_free_blocksで、この値が増加している場合はFLUSH QUERY CACHEコマンドでデフラグする必要があります。 ![]() (画像をクリックすると別ウィンドウに拡大図を表示します) このコマンドを実行後、Qcache_free_blocksが1になり(0にはなりません)、Qcache_total_blocksが減少したことがわかります。 |
||||||||||||||
| さらにチューニングを進めるにあたって | ||||||||||||||
|
これまで6回の連載を通じて、最初に押さえておくべきMySQLチューニング項目を多少なりとも説明できましたが、実際にはまだまだ検討すべき項目が目白押しです。ただ、基本となるのはあくまでshow statusなどの情報です。 今回説明しなかった項目についても、ご自身のMySQLサーバのデータを収集・グラフ化して、その変化の意味を検討してみください。おのずとチューニングすべき項目が見えてくるはずです。 |
||||||||||||||
|
前のページ 1 2 3 |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||


