Linux系统下DD命令是常用的命令之一 , 同时DD命令的使用范围也比较广泛 。除了已知的可以用DD命令来复制文件外 , 还可以用DD命令来测试磁盘的性能 。那么如何使用DD命令测试Linux磁盘的性能?
下面直接介绍几种常见的DD命令 , 先看一下他的区别:
dd bs=64k count=4k if=/dev/zero of=test
dd bs=64k count=4k if=/dev/zero of=test; sync
dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
这四条DD命令区别在于内存中写缓存的处理方式:
1.dd bs=64k count=4k if=/dev/zero of=test
没有加任何参数 , dd默认的方式不包括“同步(sync)”命令 。也就是说 , dd命令完成前并没有让系统真正把文件写到磁盘上 。所以以上命令只是单纯地把这128MB的数据读到内存缓冲当中(写缓存[write cache]) 。所以你得到的将是一个超级快的速度 。因为其实dd给你的只是读取速度 , 直到dd完成后系统才开始真正往磁盘上写数据 , 但这个速度你是看不到了 。所以如果这个速度很快 , 没有什么作用 。
实际运行结果:
268435456 bytes (268 MB) copied , 1.3529 seconds , 198 MB/s
2.dd bs=64k count=4k if=/dev/zero of=test; sync
和前面1中的完全一样 。分号隔开的只是先后两个独立的命令 。当sync命令准备开始往磁盘上真正写入数据的时候 , 前面dd命令已经把错误的“写入速度”值显示在屏幕上了 。所以你还是得不到真正的写入速度 。
实际运行结果:
268435456 bytes (268 MB) copied , 0.522815 seconds , 513 MB/s
3.dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync
加入这个参数后 , dd命令执行到最后会真正执行一次“同步(sync)”操作 , 所以这时候你得到的是读取这128M数据到内存并写入到磁盘上所需的时间 , 这样算出来的时间才是比较符合实际使用结果的 。
实际运行结果:
268435456 bytes (268 MB) copied , 2.8046 seconds , 95.7 MB/s
【如何使用DD命令测试Linux磁盘的性能?】4.dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
加入这个参数后 , dd在执行时每次都会进行同步写入操作 。也就是说 , 这条命令每次读取64k后就要先把这64k写入磁盘 , 然后再读取下面这64k , 一共重复128次 。这可能是最慢的一种方式了 , 因为基本上没有用到写缓存(write cache) 。
实际运行结果:
268435456 bytes (268 MB) copied , 3.40069 seconds , 78.9 MB/s
一般来说 , 第四种方法是最严格的 , 可以模拟数据库的插入操作 , 所以很慢 , 也是用来测试vps硬盘性能标准的一条标杆 , 一般来说测试结果 , 如果超过10M , 对正常建站就无影响 。超过50M , 就是非常给力状态 , 看了这个vps硬盘性能非常的好 , DD速度达到了78.9MB/s 。
在这几条命令中 , bs=64k表示同时读入/输出的块大小为64k个字节 , count=4k表示拷贝块的个数为4000个 , 如果测试再严格一点 , 我们运行1G数据量的DD:
dd if=/dev/zero of=test bs=64k count=16k oflag=dsync
表示每个块大小为64k个字节 , 测试16k个数量的块 , 实际测试结果:
1073741824 bytes (1.1 GB) copied , 18.9098 seconds , 56.8 MB/s
推荐阅读
- Win8.1出现“抱歉,Xbox服务现在无法使用”提示的解决方法
- Linux复制文件时出现omitting directory错误如何解决?
- Win8移动硬盘打不开提示需要格式化如何应对?
- 女人离婚以后如何调整心理状态和生活状态?
- 材料作文如何提炼主题? 材料作文训练
- 笔记本电池应该如何保养? 新笔记本电脑电池保养
- 如何编写工作总结报告 个人总结怎么写
- 手腕腱鞘炎最佳治疗方法,常用电脑女性如何预防腱鞘炎
- 如何腌制流油的咸鸭蛋?四种腌制咸鸭蛋方法快速好吃
- 淘宝开店如何交保证金 淘宝开店后怎么交保证金