合 探测磁盘IO hang多久的工具iomaxtime
介绍
在我们测试存储路径切换、软Raid切换时,我们想知道切换过程中IO到底hang了多久,这时就可以使用此工具。此工具的原理是每隔一段时间,向某一个测试的块设备或文件发送一个读IO(或写IO,可以参数控制),然后看这个IO的响应时间是多少,然后每一秒打印一行,打印出最慢的那个IO的时间。如果IO hang住了,每秒打印的IO 时间是会不断的增加,最后增加到多长时间就表示hang了多久。
工具下载:https://gitee.com/osdba/iomaxtime
使用方法
使用的一个示例如下:
1 2 3 4 5 6 7 8 9 | root@ubuntu03:~# iomaxtime 1 8k /dev/md/mdtest 100 Start to write data test... Large file is supported,file /dev/md/mdtest size is 20479 Mbytes,blocksize is 8192. 2013-07-03 05:39:27: io time : 3.5172 ms 2013-07-03 05:39:28: io time : 1.8339 ms 2013-07-03 05:39:29: io time : 3.7432 ms 2013-07-03 05:39:30: io time : 3.0489 ms 2013-07-03 05:39:31: io time : 2.6898 ms 2013-07-03 05:39:32: io time : 3.9141 ms |
从上面可以看出,上面IO没有hang,原因是最慢的IO的响应时间没有一直增加。如果打印出的时间是下面这种,说明IO hang了:
1 2 3 4 | 2013-07-03 05:41:54: io time : 538.1021 ms 2013-07-03 05:41:55: io time : 1538.2941 ms 2013-07-03 05:41:56: io time : 2538.4941 ms 2013-07-03 05:41:57: io time : 3538.6691 ms |
不带任何参数运行这个工具,显示出这个工具的帮助: