dd if=/dev/zero of=/mnt/data/testfile bs=1

dd if=/dev/zero of=/mnt/data/testfile bs=1

我正在测试 EBS 卷,试图弄清楚如何实现宣传的速度。亚马逊表示,io1 卷可以在 16K 下达到 1000MBps 或 64,000 IOPS。我没有看到任何高于 600MBps 的速度。这是一个 m5n.2xlarge 实例(带 Nitro 卡),卷配置为 1280GB 和 64000 IOPS。

当我用 写入零时ddiostat显示一致的 100% 利用率。

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
nvme1n1           0.00     0.00    0.00 2284.00     0.00   571.00   512.00    15.36    7.19    0.00    7.19   0.44 100.00

我尝试在与 parted 对齐的分区上使用 XFS 文件系统。我还尝试直接将 dd 写入块设备 nvme1n1。无论哪种方式,性能都差不多。

为了进行这次测试,我使用 dd 以 1MB 的块大小进行写入:

# dd if=/dev/zero of=/mnt/data/testfile bs=1M

我不明白的是为什么如果我写入 4K 块会得到几乎相同的结果:

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
nvme1n1           0.00     0.00    0.00 2284.00     0.00   571.00   512.00    15.02    7.02    0.00    7.02   0.44 100.00

答案1

dd if=/dev/zero of=/mnt/data/testfile bs=1

我使用 Linux 已经有一段时间了,但我 99% 确定 bs 参数是以字节为单位的。因此我相信您发送的是 1byte 块大小,而不是 1MB

尝试一下这个:

dd if=/dev/zero of=/mnt/data/testfile bs=1M

相关内容