show innodb status でチェックする値

show innodb status\G して Buffer pool hit rate が 997/1000 以上だった良い、というのは、ディスクバウンドのデータベースの話なのかな。個人的には、FILE I/O の reads/s の方を気にしている。ちなみに以下は、もうダメダメなパターン。Buffer pool hit rate は 1000/1000 だけど一秒間に 44 回も HDD から読み込んでいる (O_DIRECT設定してる) わけで、実態は青息吐息 (MyISAM も使ってたりするので)。というわけで Pathtraq のメンテナンスを開始します。

--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (write thread)
Pending normal aio reads: 0, aio writes: 0,
 ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
48452401 OS file reads, 57148831 OS file writes, 7814585 OS fsyncs
1 pending preads, 0 pending pwrites
44.34 reads/s, 18820 avg bytes/read, 1.34 writes/s, 1.09 fsyncs/s
(中略)
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 10116437578; in additional pool allocated 1045504
Buffer pool size   557056
Free buffers       1
Database pages     468720
Modified db pages  5864
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages read 51471796, created 7987915, written 109084692
50.90 reads/s, 0.06 creates/s, 0.87 writes/s
Buffer pool hit rate 1000 / 1000