Innodb存储引擎的缓存命中率计算
生活随笔
收集整理的这篇文章主要介绍了
Innodb存储引擎的缓存命中率计算
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
数据库的慢查询是我们在生产环境中必须经常检测的,如果慢查询语句过多,说明我们应该增加buffer_pool的大小了。常常检查的指标就是查看缓存命中率是否过低。
mysql> show status like 'innodb_buffer_pool%'; +---------------------------------------+--------------------------------------------------+ | Variable_name | Value | +---------------------------------------+--------------------------------------------------+ | Innodb_buffer_pool_dump_status | Dumping of buffer pool not started | | Innodb_buffer_pool_load_status | Buffer pool(s) load completed at 190107 7:19:16 | | Innodb_buffer_pool_resize_status | | | Innodb_buffer_pool_pages_data | 31732 | | Innodb_buffer_pool_bytes_data | 519897088 | | Innodb_buffer_pool_pages_dirty | 0 | | Innodb_buffer_pool_bytes_dirty | 0 | | Innodb_buffer_pool_pages_flushed | 1298499 | | Innodb_buffer_pool_pages_free | 1024 | | Innodb_buffer_pool_pages_misc | 8 | | Innodb_buffer_pool_pages_total | 32764 | | Innodb_buffer_pool_read_ahead_rnd | 0 | | Innodb_buffer_pool_read_ahead | 0 | | Innodb_buffer_pool_read_ahead_evicted | 0 | | Innodb_buffer_pool_read_requests | 438699486 | | Innodb_buffer_pool_reads | 536971 | | Innodb_buffer_pool_wait_free | 42342 | | Innodb_buffer_pool_write_requests | 237826577 | +---------------------------------------+--------------------------------------------------+ 18 rows in set (0.04 sec)我们需要关注这几个值:Innodb_buffer_pool_read_requests表示read请求的次数,Innodb_buffer_pool_reads表示从物理磁盘中读取数据的请求次数
因此缓存命中率的计算方法是:(1- Innodb_buffer_pool_reads / Innodb_buffer_pool_read_requests) *100 %,如果缓存命中率过低,则我们需要考虑扩充内存的大小或者是innodb_buffer_pool_size的值。
转载于:https://www.cnblogs.com/FengGeBlog/p/10283095.html
总结
以上是生活随笔为你收集整理的Innodb存储引擎的缓存命中率计算的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Python--day61--Djang
- 下一篇: 【译】一份通俗易懂的React.js基础