linux – 如何测量每台设备的IOwait?

我有一台服务器,它通过NFS导出主目录.它们位于软件RAID1(/ dev / sdb和/ dev / sdc)上,操作系统位于/ dev / sda上.我注意到top和sar报告的我的%iowait相对较高(与其他服务器相比).这些值的范围在5-10%之间,对于其他服务器(比这个服务器负载更多)与0-1%相同.当%iowait达到12%以上的值时,所谓的用户体验会下降.然后我们体验延迟.

我在日志中没有任何驱动器错误.
我想避免使用试错法玩驱动器.

我如何找出哪个设备(/ dev / sda,/ dev / sdb或/ dev / sdc)是瓶颈?

谢谢!

编辑:我使用Ubuntu 9.10并已安装iostat.我对NFS相关问题不感兴趣,但更多的是如何找到哪个设备会降低系统速度. NFS没有加载,我有32个线程可用,结果

grep th /proc/net/rpc/nfsd
th 32 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

Edit2:这是iostat -x 1输出的一部分(我希望我没有违反这里的一些规则):

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          45.21    0.00    0.12    4.09    0.00   50.58

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00   21.00    0.00   368.00     0.00    17.52     0.17    8.10   6.67  14.00
sdb               0.00     6.00    0.00    6.00     0.00    96.00    16.00     0.00    0.00   0.00   0.00
sdc               0.00     6.00    0.00    6.00     0.00    96.00    16.00     0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-1              0.00     0.00   21.00    0.00   368.00     0.00    17.52     0.17    8.10   6.67  14.00
dm-2              0.00     0.00    0.00   12.00     0.00    96.00     8.00     0.00    0.00   0.00   0.00
drbd2             0.00     0.00    0.00   12.00     0.00    96.00     8.00     5.23   99.17  65.83  79.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          45.53    0.00    0.24    6.56    0.00   47.68

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     1.00   23.00    2.00   424.00    24.00    17.92     0.23    9.20   8.80  22.00
sdb               0.00    32.00    0.00   10.00     0.00   336.00    33.60     0.01    1.00   1.00   1.00
sdc               0.00    32.00    0.00   10.00     0.00   336.00    33.60     0.01    1.00   1.00   1.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-1              0.00     0.00   23.00    0.00   424.00     0.00    18.43     0.20    8.70   8.70  20.00
dm-2              0.00     0.00    0.00   44.00     0.00   352.00     8.00     0.30    6.82   0.45   2.00
drbd2             0.00     0.00    0.00   44.00     0.00   352.00     8.00    12.72   80.68  22.73 100.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          44.11    0.00    1.19   10.46    0.00   44.23

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00   637.00   19.00   16.00   432.00  5208.00   161.14     0.34    9.71   6.29  22.00
sdb               0.00    31.00    0.00   13.00     0.00   352.00    27.08     0.00    0.00   0.00   0.00
sdc               0.00    31.00    0.00   13.00     0.00   352.00    27.08     0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-1              0.00     0.00   20.00  651.00   456.00  5208.00     8.44    13.14   19.58   0.33  22.00
dm-2              0.00     0.00    0.00   42.00     0.00   336.00     8.00     0.01    0.24   0.24   1.00
drbd2             0.00     0.00    0.00   42.00     0.00   336.00     8.00     4.73   73.57  18.57  78.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          46.80    0.00    0.12    1.81    0.00   51.27

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00   16.00    0.00   240.00     0.00    15.00     0.14    8.75   8.12  13.00
sdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sdc               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

要了解哪些最相关的列?什么价值被认为是不健康的?我想等待和%util是我正在寻找的.在我看来,dm-1是瓶颈(这是DRBD资源元数据).

谢谢!

Edit3:这是我的设置:

sda = OS,没有RAID.设备dm-0和dm-1在其上,因为后者是DRBD资源的元数据设备(见下文). dm-0和dm-1都是LVM卷;
drbd2 = dm-2 = sdb sdc – >这是RAID1设备,它通过NFS为用户主目录提供服务.我认为这不是瓶颈.这里没有LVM卷.

解决方法

iostat -x 1?

我被告知我必须进一步扩展这个答案,但到目前为止我还不知道要添加什么.你没有说你正在使用哪个发行版,所以如果你还没有安装iostat,我就不能指出你的方法.但我认为这就是你所要求的.

编辑:很高兴看到一些iostat输出!目前,sd [ab]设备具有几乎相同的数字,它们应该在RAID-1中,并且都没有饱和;也不是sdc.然而,drbd2是;这用途是什么,以及它如何影响整体服务器性能

编辑2:我真的不知道该建议什么.您承认drbd2“通过NFS服务用户主目录”,并且您说您有NFS服务器延迟问题.你产生的iostat输出非常令人信服地说drbd2是瓶颈设备.然后你说“在我看来dm-1是瓶颈”和“我不认为[drbd2]是瓶颈”.我不清楚你有什么证据与drbd2是瓶颈的假设相矛盾,但看到它会很好.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...