DD硬盘性能相关因素

本文简单介绍下DD测试硬盘性能时,各个因素的影响

首先列出测试结果

image.png

oflag分析--/home

dd默认测试会使用buffer io,oflag=direct参数则会跳过buffer I/O,因此通常direct性能测试结果会低一些。
--从/home的4k写数据来看:
dd buffer io时数据为193/183,oflag=direct时数据为40/80来看,buffer I/O数据明显较高,但需要说明的是这不是真是的硬盘写性能,这是buffer的性能。
--从/home的1m写数据来看:
dd buffer io时数据为2.1G/2.1G,oflag=direct时数据为241/241,可看到同样的结论。
--一个疑问点:dd同样使用buffer io时,为什么4K的结果要远远小于1M的结果。
这点原因是因为IOPS的限制,buffer同样也会有iops的限制,可以计算下4K时,带宽190M,iops=48640/1M时,带宽2.1GB,iops=2150,也就是说buffer的iops上限在50000左右,带宽上限在2.1GB。
--从/dev/sdf的4k写数据来看:
仍旧可得出上述结论,4K(不带oflag=direct时),结果为buffer I/O的性能。
--从/dev/sdf的1m写数据来看:
4K(不带oflag=direct时),结果是200MB,跟/home下测试的2.1GB相差较大,
这部分的原因暂时不知,不过数据结果来看,测试的结果为硬盘的顺序写性能,而非buffer I/O的性能。

disk cache

--从/home的4K数据来看:
当使用buffer I/O时,disk cache是否开启并无影响,因为读写测试的是buffer I/O性能。
当使用direct时,开启disk cache后,会对性能有一个较大的提升。
--从/home的1m数据来看:
当使用buffer I/O时,disk cache是否开启并无影响,因为读写测试的是buffer I/O性能。
当使用direct时,开启disk cache与否并无影响,因为1M的数据块决定了并不会使用diskcache。
--从/dev/sdf的4k数据来看:
当使用buffer I/O时,disk cache是否开启并无影响,因为读写测试的是buffer I/O性能。
当使用direct时,开启disk cache后,会对性能有一个较大的提升。
--从/dev/sdf的1m数据来看:
当使用buffer I/O时,disk cache是否开启并无影响,因为如上所述这块测试的是硬盘的顺序写性能,原因暂时不知。
当使用direct时,开启disk cache与否并无影响,因为1M的数据块决定了并不会使用diskcache。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容