amo*_*kul 1 performance hard-drive nfs dd
我正在使用 dd 命令检查 CentOS 6 上硬盘的磁盘速度。该设置是 DRBD 设置 - 该服务器是主要服务器。为确保获得正确的值,我使用不同的输出文件执行 dd 命令 3 次,然后取读/写时间的平均值。然而,dd 命令的第一个读数比接下来的 2 个要慢一个数量级。
time -p dd if=/dev/zero of=/mailstore/testfile bs=16k count=16384
16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 88.5175 s,
3.0 MB/s
real 90.12
user 0.00
sys 0.66
time -p dd if=/dev/zero of=/mailstore/testfile1 bs=16k count=16384
16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 0.226015 s, 1.2 GB/s
real 0.30
user 0.00
sys 0.22
time -p dd if=/dev/zero of=/mailstore/testfile2 bs=16k count=16384
16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 0.22094 s, 1.2 GB/s
real 0.22
user 0.00
sys 0.21
Run Code Online (Sandbox Code Playgroud)
这正常吗?我应该忽略第一次阅读,然后再读 3 次吗?
正如 poige 所建议的,dd 命令使用 opflag=direct 选项提供一致的输出。例如。
time -p dd if=/dev/zero of=/mailstore/filetest33 bs=16k count=16384 oflag=direct
16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 296.587 s, 905 kB/s
real 296.61
user 0.03
sys 1.07
time -p dd if=/dev/zero of=/mailstore/filetest44 bs=16k count=16384 oflag=direct
16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 260.308 s, 1.0 MB/s
real 260.42
user 0.04
sys 1.13
time -p dd if=/dev/zero of=/mailstore/filetest56 bs=16k count=16384 oflag=direct
16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 253.681 s, 1.1 MB/s
real 253.68
user 0.03
sys 1.06
Run Code Online (Sandbox Code Playgroud)
dd具有direct要求内核绕过任何缓存并将数据直接发送到块设备的选项。如果您需要对设备而非 RAM 进行基准测试,则必须使用它,例如:
dd if=/dev/zero of=direct_output bs=1M count=100 oflag=direct
| 归档时间: |
|
| 查看次数: |
2330 次 |
| 最近记录: |