- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
今天我在我的 mysql-error-log 中偶然发现了这些行:
2016-05-30T04:50:45.522853Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 1000ms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)
2016-05-30T04:50:47.523024Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 0ms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)
...
...最后一行以大约 0.5 毫秒的间隔重复大约 1000 次。
当这条消息出现时,mysql 用户应该做什么?
在 Internet 上搜索“1000 毫秒预期循环耗时 0 毫秒”得到零结果。 Google 提倡不带引号的搜索,但这会产生完全相反的结果 - 其中“预期循环” - 无论这可能是什么 - 花费了非常长的时间(数千到十分之一毫秒)。
嗯,准确地说:我说的数据库有一个 innodb 格式的表,其余的在 myisam 中——这是有充分理由的(读比写多一千倍)。我最想知道的是:为什么这个服务器会提示 innodb 周围的任何东西?因为唯一的一张 innodb 格式的表甚至还没有使用——除了我自己做的一些罕见的实验。但后者不可能是日志条目的原因,因为我在一个多小时后开始了我的工作日。
所以问题仍然存在:mysql 服务器提示甚至没有使用过的 innodb 数据库的原因可能是什么?有一千条错误消息?
最佳答案
我们在各种客户端上遇到了同样的问题,发现问题是由于将 innodb_lru_scan_depth 的值从默认值 1024 设置为低至 128。尽管降低该值可以减少处理事务所花费的时间,尤其是在写绑定(bind)工作负载我认为将值设置得太低会使缓冲池无法跟上清除其某些缓冲区和缓冲池脏页的速度。
在我们的例子中,我们已经看到通过将值从 128 增加到 256 的显着改进,但正确的值取决于硬件和负载类型。诀窍是在提高 OLTP 性能和让 MySQL 保持缓冲池清洁之间找到正确的值,而不是让 page_cleaner
需要做很多工作,如上面的消息所述:
"InnoDB: page_cleaner: 1000ms intended loop took *****ms"
可以在不重新启动 MySQL 的情况下动态更改该值
设置全局 innodb_lru_scan_depth=256;
关于mysql - 如何处理 "InnoDB: page_cleaner: 1000ms intended loop took 0ms"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37520957/
今天我在我的 mysql-error-log 中偶然发现了这些行: 2016-05-30T04:50:45.522853Z 0 [Note] InnoDB: page_cleaner: 1000ms
我在 Ubuntu 16.04.1 LTS 上使用 5.7.16-10-log Percona Server。 我最近将我的 AWS ec2 实例从 m4.2xlarge 实例类型升级到 m4.4xl
2017-09-12T19:04:53.549339Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 23911ms. The se
我在服务器上运行了一个 mysql import mysql dummyctrad show processlist \G; *************************** 1. row *
我是一名优秀的程序员,十分优秀!