使用/ dev / urandom进行dd(磁盘性能)测试是不是一个好主意?

时间:2015-04-29 05:26:57

标签: unix centos dd

测试我已触发dd test的磁盘性能。当我使用/ dev / urandom /作为输入文件时,我的性能非常低    dd if = / dev / urandom of = file_01.txt bs = 8K count = 3000    3000 + 0记录    3000 + 0记录了    复制24576000字节(25 MB),3.16523 s,7.8 MB / s 但是当使用其他一些文件时它会给出非常高的性能。    dd if = / root / test.dbg of = file_0521.txt bs = 8K count = 3000    3000 + 0记录    3000 + 0记录了    复制24576000字节(25 MB),0.0606644 s,405 MB / s 如何弥合这两个数字之间的差距。使用/ dev / urandom /进行DD测试是好的。我考虑过哪些数字用于基准测试。为什么/ dev / urandom提供非常低的性能值。

1 个答案:

答案 0 :(得分:3)

您正在对/dev/urandom进行基准测试(请参阅random(4)),而不是您的磁盘或dd。它正在内核中进行一些重要的处理(基本上将一些真正的随机源与内核PRNG混合在一起。)

您可以使用hdparm对磁盘进行基准测试。请参阅this answer

如果您坚持使用dd对磁盘进行基准测试,请在某些 tmpfs 文件系统中创建一个大文件(可能使用ddhead /dev/urandom 1}}),然后基准dd将该临时文件复制到您的磁盘。

顺便说一句,要对磁盘进行基准测试,您需要绕过任何file-system(并写入该磁盘上的原始分区),因为如果您在该磁盘上的文件系统中使用文件,则大多数work与内核中的文件系统层使用的page cache相关 - 并且磁盘并未真正立即使用,另请参阅sync(2) ..