如何计算页面清理线程每秒执行的工作量?

ippsafx7  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(271)

我尝试调整innodb缓冲池刷新参数。
在MySQL5.7手册中
innodb\u lru\u scan\u depth*innodb\u buffer\u pool\u instances=页面清理器线程每秒执行的工作量
我的问题是:如何计算页面清理器线程每秒执行的工作量?

wj8zmpe1

wj8zmpe11#

运行sql命令:

SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_pages_flushed'

每秒钟一次。将该值与前一秒进行比较。
该值从一秒到下一秒的差值是页面清理器请求刷新到磁盘的脏页数。
例子:

mysql> SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_pages_flushed';
+----------------------------------+-----------+
| Variable_name                    | Value     |
+----------------------------------+-----------+
| Innodb_buffer_pool_pages_flushed | 496786650 |
+----------------------------------+-----------+

...wait a moment...

mysql> SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_pages_flushed';
+----------------------------------+-----------+
| Variable_name                    | Value     |
+----------------------------------+-----------+
| Innodb_buffer_pool_pages_flushed | 496787206 |
+----------------------------------+-----------+

所以在我等待的那一刻,页面清洁器刷新了556页。
这项工作的上限是一个复杂的计算,涉及到几个innodb配置选项。阅读我对如何解决mysql警告的回答:“innodb:page\u cleaner:1000ms预期循环花费 ms。设置可能不是最佳的”?了解它的工作原理。

相关问题