我有一台运行 icinga/collectd/graphite 的监控服务器,上面有大约 50 台主机。我注意到该机器的负载/延迟性能很高。如果您查看 top,您会看到:
CPU:0.6%us,0.2%sy,0.0%ni,7.6%id,23.4%wa,0.0%hi,0.2%si,0.0%st
注意巨大的 %wa 值,据我所知,这意味着网络或磁盘瓶颈。 ifconfig 显示没有丢包,并且没有大量带宽,所以剩下磁盘问题,对吗?也没有很多磁盘写入... iotop 报告我们每秒只写入 1 MB 多一点,而 RAID 工具报告一切正常,写入缓存已启用。
我该如何着手解决此问题?
更新: iostat -x 输出为:
avg-cpu: %user %nice %system %iowait %steal %idle
0.62 0.10 0.31 9.65 0.00 89.31
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.21 33.34 83.55 16.54 1599.94 399.07 19.97 43.21 416.98 3.71 37.13
答案1
NFS、SMB 和其他远程文件系统也会生成 i/o 等待。
用于vmstat 2
查看系统性能的详细视图,包括 io 等待。
答案2
高 wa 通常意味着操作系统正在等待网络或磁盘。有一个相当漂亮的程序叫做iotop。这会告诉您磁盘正在做什么,可能会有所帮助。