我有英特尔固态硬盘(530 系列,480GB)。数据来自英特尔网站:
连续读取 - 540 MB/s
顺序写入 - 490 MB/s
随机读取 - 48000 IOPS
随机写入 - 80000 IOPS
当前负载约为 5000 iops,读取速度为 50 MB/秒,写入速度为 1 MB/秒。磁盘用于数据库。Munin“磁盘利用率”插件显示利用率为 50%。根据测试,munin 计算正确。
如何根据当前 iops、读写速度计算磁盘利用率?
答案1
通过读取 diskstats 插件源,munin 通过查看在给定监控期间执行 IO 所花费的总时间来计算磁盘利用率百分比。如果设备花费所有时间执行 IO,则其利用率为 100%。这在某种程度上与实际 IOPS 和读/写速度无关,因为它们将具有非常依赖于访问模式的效果。(我假设您实际上是在问 munin 如何计算利用率百分比,而不是具体如何使用 IOP 和读/写大小来计算相同的内容)
Munin 从 /proc/diskstats 获取此数据。所讨论的列是设备名称后的第 10 个字段(munin 通常会在第一次读取时存储该值,第二次读取时计算旧值和新值之间的差异,以便计算出监控期间的增量)。
/proc/diskstats 的文档可用这里