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是瓶颈的假设相矛盾,但看到它会很好.

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...