dd wenn=/dev/zero von=/mnt/data/testfile bs=1

dd wenn=/dev/zero von=/mnt/data/testfile bs=1

Ich teste EBS-Volumes und versuche herauszufinden, wie ich die angegebene Geschwindigkeit erreichen kann. Amazon sagt, dass io1-Volumes 1000 MBit/s oder 64.000 IOPS bei 16 K erreichen können. Mehr als 600 MBit/s sehe ich nicht. Dies ist eine m5n.2xlarge-Instanz (mit Nitro-Karte) mit einem Volume, das für 1280 GB und 64.000 IOPS bereitgestellt ist.

Wenn ich Nullen mit schreibe dd, iostatwird konstant eine Auslastung von 100 % angezeigt.

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

Ich habe versucht, das XFS-Dateisystem auf einer Partition zu verwenden, die optimal mit parted ausgerichtet ist. Ich habe auch versucht, dd direkt auf das Blockgerät nvme1n1 zu schreiben. Die Leistung ist in beiden Fällen ungefähr gleich.

Für diesen Test schreibe ich mit dd und einer Blockgröße von 1 MB:

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

Was ich nicht verstehe, ist, warum ich fast das gleiche Ergebnis erhalte, wenn ich 4K-Blöcke schreibe:

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

Antwort1

dd wenn=/dev/zero von=/mnt/data/testfile bs=1

Es ist schon eine Weile her, seit ich Linux verwendet habe, aber ich bin mir zu 99 % sicher, dass das bs-Argument in Bytes angegeben ist. Ich glaube also, dass Sie eine Blockgröße von 1 Byte senden, statt 1 MB

Versuchen Sie stattdessen Folgendes:

dd wenn=/dev/zero von=/mnt/data/testfile bs=1M

verwandte Informationen