[转帖]DD硬盘性能相关因素

dd,硬盘,性能,相关,因素 · 浏览次数 : 0

小编点评

## DD测试硬盘性能分析 **测试结果:** | 测试方式 | 4K数据 | 1M数据 | |---|---|---| | buffer I/O | 193/183 | 2.1G/2.1G | | direct | 40/80 | 241/241 | | disk cache | 2.1GB | 200MB | | 1m数据 | 2.1GB | 1M | **分析:** * 4K写入性能明显低于1M写入性能,原因是IOPS限制。 * buffer I/O数据比direct数据更高,但仍低于1M写入数据。 * 4K数据写入时,开启disk cache比使用direct更快,这是因为disk cache可以缓存数据,提升读取性能。 * 1M数据写入时,使用buffer I/O时性能与使用direct相同,可能是因为数据块大小与disk cache的开启状态无关。 * 4K和1M写入时,使用buffer I/O时,开启disk cache与否并无影响。 **疑问:** * 4K写入性能为什么要远远小于1M写入性能呢?

正文

https://www.jianshu.com/p/a15d7a65c876

 

本文简单介绍下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。

与[转帖]DD硬盘性能相关因素相似的内容: