阅读完mysql文档中的此页后,我试图弄清当前InnoDB的用法。目前,我们为缓冲池分配了6GB的RAM。我们的数据库大小大致相同。这是show engine innodb status\G
(我们正在运行v5.5)的输出
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 6593445888; in additional pool allocated 0
Dictionary memory allocated 1758417
Buffer pool size 393215
Free buffers 853
Database pages 360515
Old database pages 133060
Modified db pages 300
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 7365790, not young 23099457
0.00 youngs/s, 0.00 non-youngs/s
Pages read 1094342, created 185628, written 543182148
0.00 reads/s, 0.00 creates/s, 37.32 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 360515, unzip_LRU len: 0
I/O sum[2571]:cur[0], unzip sum[0]:cur[0]
我想知道我们利用缓冲区高速缓存的程度。最初浏览输出后,似乎我们确实在使用它,它基于Pages made young
并not young
在其中有数字,并且Buffer pool hit rate is 1000 / 10000
(我在网络上的其他地方看到这意味着它的使用率很高。是吗?)
使我陷入困境的原因是,为什么young-making rate
and和not
都为0/1000,而young/s
and non-young/s
访问都都为0。所有这些都表明它根本没有被使用,对吗?
任何人都可以帮助理解这一点吗?
young-making rate 0 / 1000
和0.00 youngs/s
,可以告诉我们我们并没有真正利用它。我读对了吗?