dd命令是Linux测试磁盘读写速率的一个方式,dd命令测试是个大概结果,因为产生的IO是连续IO,不是随机IO。
dd测试读
宏杉科技固态存储 raid6 :
1.测试写:测试多台直接写磁盘(不走缓存)

root@-9:/dbdata# dd if=/dev/zero of=testdm bs=32k count=200000 oflag=direct
记录了200000+0 的读入
记录了200000+0 的写出
6553600000 bytes (6.6 GB, 6.1 GiB) copied, 137.727 s, 47.6 MB/s
dmdba@-8:/dbdata$ dd if=/dev/zero of=testdm bs=32k count=200000 oflag=direct
记录了200000+0 的读入
记录了200000+0 的写出
6553600000 bytes (6.6 GB, 6.1 GiB) copied, 132.875 s, 49.3 MB/s
root@-5:/dbdata# dd if=/dev/zero of=testdm bs=32k count=200000 oflag=direct
记录了200000+0 的读入
记录了200000+0 的写出
6553600000 bytes (6.6 GB, 6.1 GiB) copied, 141.924 s, 46.2 MB/s

dsync方式读

root@1-9:/dbdata# dd if=/dev/zero of=testdm1 bs=32k count=200000 oflag=dsync
记录了200000+0 的读入
记录了200000+0 的写出
6553600000 bytes (6.6 GB, 6.1 GiB) copied, 408.443 s, 16.0 MB/s

dsync宏杉固态存储上平均16MB/s左右 direct 45MB/s左右

2.走缓存读,测试此速率意义不大

dmdba@-8:/dbdata$ dd if=/dev/zero of=testdm1 bs=32k count=200000 
记录了200000+0 的读入
记录了200000+0 的写出
6553600000 bytes (6.6 GB, 6.1 GiB) copied, 1.75271 s, 3.7 GB/s

华为鲲鹏本地盘raid6,22T大盘
1.测试写:测试多台

root@1-8:/data# dd if=/dev/zero of=testdm2 bs=32k count=100000 oflag=direct  
 记录了100000+0 的读入
记录了100000+0 的写出
3276800000 bytes (3.3 GB, 3.1 GiB) copied, 385.103 s, 8.5 MB/s
root@-5:/data# dd if=/dev/zero of=testdm1 bs=32k count=100000 oflag=direct
记录了100000+0 的读入
记录了100000+0 的写出
3276800000 bytes (3.3 GB, 3.1 GiB) copied, 24.6786 s, 133 MB/s
root@-9:/data# rm -rf test 
root@-9:/data# dd if=/dev/zero of=testdm bs=32k count=100000 oflag=direct
记录了100000+0 的读入
记录了100000+0 的写出
3276800000 bytes (3.3 GB, 3.1 GiB) copied, 21.5395 s, 152 MB/s
root@-5:/data# dd if=/dev/zero of=testdm1 bs=32k count=100000 oflag=dsync
记录了100000+0 的读入
记录了100000+0 的写出
3276800000 bytes (3.3 GB, 3.1 GiB) copied, 65.0521 s, 50.4 MB/s

dsync比direct慢三分之一左右
严重怀疑第一台是不是没有raid卡

实际情况所测

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐