show innodb status\G
- innodb_buffer_pool_sizeのチューニング:どれくらい割り当てる?
-
show innodb status\G
は mysql 5.5 以降? 使えなくなった。- 代わりに
show engine innodb status\G
を使う。
- 代わりに
mysql> show engine innodb status\G
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 2195718144; in additional pool allocated 0
Dictionary memory allocated 1350348
Buffer pool size 131072
Free buffers 0
Database pages 128747
-
Free buffersが0なので、確保したバッファープールを使い切っている。
- 0 にならないように innodb_buffer_pool_size 値を増やす
- もしくは 不要なデータを大量削除しておく。
mysqldを再起動して確認。
暖気のためDBをdumpしてから
Free buffers
値を確認。
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 626511882; in additional pool allocated 1048320
Buffer pool size 32768
Free buffers 28540
Database pages 4224
Modified db pages 0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages read 350, created 3874, written 12035
+0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
- reads/s が 0であればDISKから読み出されていない。
innodb_buffer_pool_size
- my.cnf で innodb_buffer_pool_size サイズを指定できる。
- 実メモリの 80% まで指定できるらしいが、ここで指定した値の110% を使用される仕様。
- 自分は70% までとした。