磁盘 I/O 和平均负载每小时达到峰值一次

磁盘 I/O 和平均负载每小时达到峰值一次

我们已经将服务器从 Debian Wheezy 更新到 Jessie,并从 php5.6 更新到 php7.0,但现在我们的磁盘 I/O 和平均负载每小时都会达到峰值。具体时间取决于系统启动时间。

在此服务器上,我们有:

  • nginx/1.10.1
  • PHP 7.0.8-1~dotdeb+8.1
  • Percona mysql 服务器 5.6.30-76.3-log
  • dovecot 2.2.devel
  • 后缀 2.11.3-1
  • Java 1.7.0_101

我们尝试返回到 php5.6,禁用 cron,禁用 postfix 和 dovecot,停止我们的 Java 应用程序,但都没有任何帮助。

峰值如下所示:

iotop 如下所示:

我怎样才能确切地知道导致这些峰值的原因并消除它们?

答案1

也许你有一些MySQL 预定事件每小时进行一次?

MySQL 事件是按照计划运行的任务。因此,我们有时将它们称为计划事件。创建事件时,您将创建一个命名的数据库对象,其中包含一个或多个 SQL 语句,这些语句将在一个或多个固定间隔内执行,并在特定日期和时间开始和结束。从概念上讲,这类似于 Unix crontab(也称为“cron 作业”)或 Windows 任务计划程序的概念。

答案2

问题是https://developers.google.com/speed/pagespeed/module/每小时清理一次缓存。

将其配置为将文件存储在 tmpfs 上解决了该问题。

答案3

科学的方法是你的朋友。

您或您的代表必须监控您的系统以收集必要的数据,以便您做出明智的决定。

您的平均负载峰值非常急剧且在可预测的时间,这意味着使用 top、iostat、vmstat 等工具监视事件并开始旅程应该相当简单。

相关内容