dd命令进行硬盘IO性能检测剖析.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
dd 命令进行硬盘 I/O 性能检测 如何使用dd命令测试我的硬盘性能?如何在linux操作系统下检测硬盘的读写速度? 你可以使用以下命令在一个Linux或类Unix操作系统上进行简单的I/O性能测试。 ? dd命令?:它被用来在Linux和类Unix系统下对硬盘设备进行写性能的检测。 ? hparm命令:它用来在基于 Linux 的系统上获取或设置硬盘参数,包括测试读性能以及缓存性能等。 在这篇指南中,你将会学到如何使用dd命令来测试硬盘性能。 使用dd命令来监控硬盘的读写性能: ? 打开shell终端。 ? 或者通过ssh登录到远程服务器。 ? 使用dd命令来测量服务器的吞吐率(写速度)?dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync ? 使用dd命令测量服务器延迟?dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync 理解dd命令的选项 在这个例子当中,我将使用搭载Ubuntu Linux 14.04 LTS系统的RAID-10(配有SAS SSD的Adaptec 5405Z)服务器阵列来运行。基本语法为: 1. dd if=/dev/input.file of=/path/to/output.file bs=block-size count=number-of-blocks oflag=dsync 2. ## GNU dd语法 ## 3. dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync 4. ##另外一种GNU dd的语法 ## 5. dd if=/dev/zero of=/tmp/testALT.img bs=1G count=1 conv=fdatasync 输出样例: 图01: 使用dd命令获取的服务器吞吐率 请各位注意在这个实验中,我们写入一个G的数据,可以发现,服务器的吞吐率是135 MB/s,这其中 ? if=/dev/zero?(if=/dev/input.file) :用来设置dd命令读取的输入文件名。 ? of=/tmp/test1.img?(of=/path/to/output.file):dd命令将input.file写入的输出文件的名字。 ? bs=1G?(bs=block-size) :设置dd命令读取的块的大小。例子中为1个G。 ? count=1?(count=number-of-blocks):dd命令读取的块的个数。 ? oflag=dsync?(oflag=dsync) :使用同步I/O。不要省略这个选项。这个选项能够帮助你去除caching的影响,以便呈现给你精准的结果。 ? conv=fdatasyn: 这个选项和oflag=dsync含义一样。 在下面这个例子中,一共写了1000次,每次写入512字节来获得RAID10服务器的延迟时间: 1. dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync 输出样例: 1. 1000+0 records in 2. 1000+0 records out 3. 512000 bytes (512 kB) copied, 0.60362 s, 848 kB/s 请注意服务器的吞吐率以及延迟时间也取决于服务器/应用的负载。所以我推荐你在一个刚刚重启过并且处于峰值时间的服务器上来运行测试,以便得到更加准确的度量。现在你可以在你的所有设备上互相比较这些测试结果了。 为什么服务器的吞吐率和延迟时间都这么差? 低的数值并不意味着你在使用差劲的硬件。可能是硬件 RAID10的控制器缓存导致的。 使用hdparm命令来查看硬盘缓存的读速度。 我建议你运行下面的命令2-3次来对设备读性能进行检测,以作为参照和相互比较: 1. ### 有缓存的硬盘读性能测试——/dev/sda ### 2. hdparm -t /dev/sda1 3. ## 或者 ## 4. hdparm -t /dev/sda 然后运行下面这个命令2-3次来对缓存的读性能进行对照性检测: 1. ## Cache读基准——/dev/sda ### 2. hdparm -T /dev/sda1 3. ## 或者 ## 4. hdparm -T /dev/sda 或者干脆把两个测试结合起来: 1. hdparm -Tt /dev/sda 输出样例: 图02: 检测硬盘读入以及缓存性能的Linux hdparm命令 请再次注意,由于文件文件操作的缓存属性,你将总是会看到很高的读速度。 使用dd命令来测试

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档