Centos 6.5 中有许多写入 IO/s - 与读取相反 - 正常

Centos 6.5 中有许多写入 IO/s - 与读取相反 - 正常

我们在 ESXI5.5 上有许多 CentOS6.5 服务器。vmdk 的存储是 SAN ISCI。我遇到了写入/读取比率不佳的问题。

在存储上,我有大约 2500 个写入 io 和 200 个读取!全天都是如此。晚上大约是 1500/100。

下面是 munin 的六台服务器的图片。如你所见,所有服务器都有更多的写入。

LogVol00 是操作系统和 MySQL。LogVol01 是网页数据和 apache 日志。通常是 LAMP 服务器:)。

你知道这是为什么吗?

谢谢你!

在此处输入图片描述

答案1

我的第一个想法是:访问时间。

除非您已禁用它们(或者您的发行版已禁用,但 RHEL6/CentOS6 默认不会禁用),否则 Linux 将默认维护所有文件和目录的访问时间戳。这意味着任何时候操作系统读取文件,即使只是一个统计数据,它都会生成一个写入来更新时间戳。

尝试使用“noatime”挂载选项挂载 LogVol00 和/或 LogVol01。

此外,Apache 访问尝试几乎肯定会产生写入(access_log,可能是 error_log),但可能不是生成读取,因为 Linux VFS 缓存会在读取到达磁盘之前拦截并提供读取服务。

使用 MySQL 时,请检查是否启用了通用查询日志或慢速查询日志。这是一种导致只应读取的内容最终可能产生意外写入的方式。MySQL 调优本身就是一个大话题,所以我只想补充一点 - 查看您的 MySQL 设置...内部缓存命中率等。可能是它对诸如临时表之类的内容的磁盘访问次数超过了应有的次数。

如果以上方法都失败了,您可以检查在这些服务器上运行的应用程序是否做了一些不寻常的事情。例如,我见过一些 Web 应用程序会执行诸如将分析数据存储在数据库中之类的操作 - 这很方便,但很容易将以读取为中心的工作负载转变为以写入为中心的工作负载。

相关内容