I do not use dd for my i/o benchmarks.
Though saying that, with your command on my 22.04.3 server, using:
Code:
(vmstat 1 60 &) ; dd if=/dev/zero of=./testfile.txt bs=1G count=1 oflag=dsync
kpool
Code:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 59025772 16972 1483196 0 0 243 17 0 0 0 0 100 0 0
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.467651 s, 2.3 GB/s
0 0 0 58958896 16972 1483196 0 0 0 7160 1784 5053 0 6 94 0 0
0 0 0 58959680 16972 1483196 0 0 0 0 576 1626 0 0 100 0 0
0 0 0 58959680 16972 1483196 0 0 0 136 638 1727 0 0 100 0 0
0 0 0 58959680 16972 1483196 0 0 0 0 640 1655 0 0 100 0 0
0 0 0 58959680 16972 1483196 0 0 0 136 599 1681 0 0 100 0 0
0 0 0 58977908 16972 1483196 0 0 0 4400 993 3026 0 0 100 0 0
0 0 0 58977908 16972 1483196 0 0 0 0 610 1661 0 0 100 0 0
0 0 0 58977908 16972 1483196 0 0 0 392 631 1800 0 0 100 0 0
0 0 0 58977908 16972 1483196 0 0 0 136 610 1692 0 0 100 0 0
0 0 0 58977908 16972 1483196 0 0 0 0 659 1669 0 0 100 0 0
0 0 0 58977908 16972 1483196 0 0 0 136 582 1677 0 0 100 0 0
0 0 0 58977908 16972 1483196 0 0 0 0 556 1662 0 0 100 0 0
0 0 0 58977908 16972 1483196 0 0 0 0 647 1695 0 0 100 0 0
0 0 0 58977780 16972 1483196 0 0 128 600 634 2147 0 0 100 0 0
0 0 0 58977584 16972 1483196 0 0 0 9632 1101 3759 0 0 100 0 0
0 0 0 58976204 16972 1483196 0 0 0 0 647 1744 0 0 100 0 0
0 0 0 58972108 16972 1483196 0 0 0 0 626 1696 0 0 100 0 0
0 0 0 58972108 16972 1483196 0 0 0 520 538 1602 0 0 100 0 0
1 0 0 58972108 16972 1483196 0 0 0 0 656 1800 0 0 100 0 0
0 0 0 58972108 16972 1483196 0 0 0 0 578 1701 0 0 100 0 0
datapool
Code:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 59032140 16972 1483052 0 0 243 17 0 0 0 0 100 0 0
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.700268 s, 1.5 GB/s
0 0 0 58973864 16972 1483052 0 0 0 217152 3840 17258 0 6 94 0 0
0 0 0 58973676 16972 1483052 0 0 0 264 616 1754 0 0 100 0 0
0 0 0 58973676 16972 1483052 0 0 0 0 567 1661 0 0 100 0 0
0 0 0 58973676 16972 1483052 0 0 0 0 638 1713 0 0 100 0 0
0 0 0 58979760 16972 1483052 0 0 128 1088 675 2348 0 0 100 0 0
0 0 0 59004080 16972 1483052 0 0 0 10952 1094 3899 0 1 99 0 0
0 0 0 59003068 16972 1483052 0 0 0 0 659 1781 0 0 100 0 0
0 0 0 59003068 16972 1483052 0 0 0 136 611 1774 0 0 100 0 0
0 0 0 59003068 16972 1483052 0 0 0 0 591 1808 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 0 608 1745 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 0 552 1731 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 0 581 1711 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 0 581 1760 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 0 571 1727 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 136 551 1699 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 136 632 1824 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 264 593 1716 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 0 536 1647 0 0 100 0 0
0 0 0 59002816 16972 1483052 0 0 0 0 532 1629 0 0 100 0 0
1 0 0 59002816 16972 1483052 0 0 0 0 554 1738 0 0 100 0 0
Now using what I do use to benchmark my i/o:
Code:
fio --name TEST_WRITE --eta-newline=5s --filename=temp.file --rw=write --size=2g --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting && fio --name TEST_READ --eta-newline=5s --filename=temp.file --rw=read --size=2g --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting
on kpool
Code:
TEST_WRITE: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=32
fio-3.28
Starting 1 process
TEST_WRITE: Laying out IO file (1 file / 2048MiB)
Jobs: 1 (f=0): [f(1)][100.0%][w=1229MiB/s][w=1229 IOPS][eta 00m:00s]
TEST_WRITE: (groupid=0, jobs=1): err= 0: pid=861108: Tue Feb 13 07:53:00 2024
write: IOPS=2098, BW=2098MiB/s (2200MB/s)(10.0GiB/4880msec); 0 zone resets
slat (usec): min=96, max=3276, avg=426.75, stdev=290.89
clat (nsec): min=1298, max=492662k, avg=14646886.37, stdev=27230294.44
lat (usec): min=133, max=493306, avg=15074.17, stdev=27330.79
clat percentiles (msec):
| 1.00th=[ 5], 5.00th=[ 5], 10.00th=[ 5], 20.00th=[ 5],
| 30.00th=[ 5], 40.00th=[ 6], 50.00th=[ 13], 60.00th=[ 17],
| 70.00th=[ 23], 80.00th=[ 23], 90.00th=[ 24], 95.00th=[ 25],
| 99.00th=[ 31], 99.50th=[ 33], 99.90th=[ 489], 99.95th=[ 489],
| 99.99th=[ 493]
bw ( MiB/s): min= 1620, max= 2848, per=100.00%, avg=2211.50, stdev=380.69, samples=9
iops : min= 1620, max= 2848, avg=2211.22, stdev=380.52, samples=9
lat (usec) : 2=0.01%, 10=0.03%, 100=0.01%, 250=0.01%, 500=0.04%
lat (usec) : 750=0.04%, 1000=0.04%
lat (msec) : 2=0.14%, 4=0.31%, 10=46.72%, 20=14.88%, 50=37.47%
lat (msec) : 500=0.30%
fsync/fdatasync/sync_file_range:
sync (nsec): min=545, max=545, avg=545.00, stdev= 0.00
sync percentiles (nsec):
| 1.00th=[ 548], 5.00th=[ 548], 10.00th=[ 548], 20.00th=[ 548],
| 30.00th=[ 548], 40.00th=[ 548], 50.00th=[ 548], 60.00th=[ 548],
| 70.00th=[ 548], 80.00th=[ 548], 90.00th=[ 548], 95.00th=[ 548],
| 99.00th=[ 548], 99.50th=[ 548], 99.90th=[ 548], 99.95th=[ 548],
| 99.99th=[ 548]
cpu : usr=15.52%, sys=76.08%, ctx=1397, majf=14, minf=14
IO depths : 1=0.1%, 2=0.1%, 4=0.2%, 8=0.4%, 16=0.8%, 32=98.5%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
issued rwts: total=0,10240,0,1 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
Run status group 0 (all jobs):
WRITE: bw=2098MiB/s (2200MB/s), 2098MiB/s-2098MiB/s (2200MB/s-2200MB/s), io=10.0GiB (10.7GB), run=4880-4880msec
TEST_READ: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=32
fio-3.28
Starting 1 process
Jobs: 1 (f=1)
TEST_READ: (groupid=0, jobs=1): err= 0: pid=861150: Tue Feb 13 07:53:02 2024
read: IOPS=8455, BW=8456MiB/s (8867MB/s)(10.0GiB/1211msec)
slat (usec): min=77, max=365, avg=117.13, stdev=25.77
clat (nsec): min=1592, max=9939.1k, avg=3626639.49, stdev=691749.17
lat (usec): min=105, max=10270, avg=3743.93, stdev=711.48
clat percentiles (usec):
| 1.00th=[ 2212], 5.00th=[ 3392], 10.00th=[ 3425], 20.00th=[ 3458],
| 30.00th=[ 3490], 40.00th=[ 3523], 50.00th=[ 3523], 60.00th=[ 3556],
| 70.00th=[ 3589], 80.00th=[ 3621], 90.00th=[ 3687], 95.00th=[ 3785],
| 99.00th=[ 7308], 99.50th=[ 7373], 99.90th=[ 7832], 99.95th=[ 8979],
| 99.99th=[ 9765]
bw ( MiB/s): min= 7952, max= 8784, per=98.96%, avg=8368.00, stdev=588.31, samples=2
iops : min= 7952, max= 8784, avg=8368.00, stdev=588.31, samples=2
lat (usec) : 2=0.05%, 250=0.10%, 500=0.10%, 750=0.11%, 1000=0.14%
lat (msec) : 2=0.42%, 4=95.18%, 10=3.92%
cpu : usr=0.58%, sys=99.26%, ctx=14, majf=0, minf=8204
IO depths : 1=0.1%, 2=0.1%, 4=0.2%, 8=0.4%, 16=0.8%, 32=98.5%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
issued rwts: total=10240,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
Run status group 0 (all jobs):
READ: bw=8456MiB/s (8867MB/s), 8456MiB/s-8456MiB/s (8867MB/s-8867MB/s), io=10.0GiB (10.7GB), run=1211-1211msec
On datapool
Code:
TEST_WRITE: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=32
fio-3.28
Starting 1 process
Jobs: 1 (f=1): [W(1)][-.-%][eta 00m:00s]
Jobs: 1 (f=1): [W(1)][-.-%][eta 00m:00s]
TEST_WRITE: (groupid=0, jobs=1): err= 0: pid=861190: Tue Feb 13 07:54:18 2024
write: IOPS=872, BW=873MiB/s (915MB/s)(10.0GiB/11736msec); 0 zone resets
slat (usec): min=121, max=1734, avg=407.70, stdev=273.42
clat (nsec): min=1198, max=7534.3M, avg=35377576.92, stdev=412853630.65
lat (usec): min=135, max=7535.0k, avg=35785.57, stdev=412876.22
clat percentiles (msec):
| 1.00th=[ 5], 5.00th=[ 5], 10.00th=[ 6], 20.00th=[ 6],
| 30.00th=[ 6], 40.00th=[ 8], 50.00th=[ 11], 60.00th=[ 15],
| 70.00th=[ 16], 80.00th=[ 18], 90.00th=[ 21], 95.00th=[ 31],
| 99.00th=[ 46], 99.50th=[ 49], 99.90th=[ 7550], 99.95th=[ 7550],
| 99.99th=[ 7550]
bw ( MiB/s): min= 548, max= 4800, per=100.00%, avg=2215.33, stdev=1465.65, samples=9
iops : min= 548, max= 4800, avg=2215.33, stdev=1465.65, samples=9
lat (usec) : 2=0.02%, 4=0.03%, 250=0.03%, 500=0.04%, 750=0.07%
lat (usec) : 1000=0.03%
lat (msec) : 2=0.21%, 4=0.41%, 10=45.43%, 20=40.48%, 50=12.95%
lat (msec) : >=2000=0.30%
fsync/fdatasync/sync_file_range:
sync (nsec): min=446, max=446, avg=446.00, stdev= 0.00
sync percentiles (nsec):
| 1.00th=[ 446], 5.00th=[ 446], 10.00th=[ 446], 20.00th=[ 446],
| 30.00th=[ 446], 40.00th=[ 446], 50.00th=[ 446], 60.00th=[ 446],
| 70.00th=[ 446], 80.00th=[ 446], 90.00th=[ 446], 95.00th=[ 446],
| 99.00th=[ 446], 99.50th=[ 446], 99.90th=[ 446], 99.95th=[ 446],
| 99.99th=[ 446]
cpu : usr=3.69%, sys=29.50%, ctx=13527, majf=0, minf=15
IO depths : 1=0.1%, 2=0.1%, 4=0.2%, 8=0.4%, 16=0.8%, 32=98.5%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
issued rwts: total=0,10240,0,1 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
Run status group 0 (all jobs):
WRITE: bw=873MiB/s (915MB/s), 873MiB/s-873MiB/s (915MB/s-915MB/s), io=10.0GiB (10.7GB), run=11736-11736msec
TEST_READ: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=32
fio-3.28
Starting 1 process
Jobs: 1 (f=1)
TEST_READ: (groupid=0, jobs=1): err= 0: pid=861236: Tue Feb 13 07:54:20 2024
read: IOPS=8006, BW=8006MiB/s (8395MB/s)(10.0GiB/1279msec)
slat (usec): min=77, max=511, avg=123.68, stdev=39.18
clat (nsec): min=1240, max=9849.2k, avg=3827351.26, stdev=1161532.91
lat (usec): min=111, max=10188, avg=3951.21, stdev=1197.20
clat percentiles (usec):
| 1.00th=[ 2212], 5.00th=[ 3326], 10.00th=[ 3359], 20.00th=[ 3425],
| 30.00th=[ 3425], 40.00th=[ 3458], 50.00th=[ 3490], 60.00th=[ 3490],
| 70.00th=[ 3523], 80.00th=[ 3589], 90.00th=[ 4686], 95.00th=[ 7308],
| 99.00th=[ 7635], 99.50th=[ 7832], 99.90th=[ 8225], 99.95th=[ 8848],
| 99.99th=[ 9634]
bw ( MiB/s): min= 6522, max= 8928, per=96.49%, avg=7725.00, stdev=1701.30, samples=2
iops : min= 6522, max= 8928, avg=7725.00, stdev=1701.30, samples=2
lat (usec) : 2=0.04%, 4=0.01%, 250=0.10%, 500=0.10%, 750=0.10%
lat (usec) : 1000=0.14%
lat (msec) : 2=0.43%, 4=87.92%, 10=11.17%
cpu : usr=0.23%, sys=99.37%, ctx=1, majf=0, minf=8204
IO depths : 1=0.1%, 2=0.1%, 4=0.2%, 8=0.4%, 16=0.8%, 32=98.5%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
issued rwts: total=10240,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
Run status group 0 (all jobs):
READ: bw=8006MiB/s (8395MB/s), 8006MiB/s-8006MiB/s (8395MB/s-8395MB/s), io=10.0GiB (10.7GB), run=1279-1279msec
For benchmarking I/O, I use what I think shows a much clearer picture of what is going on. Just saying...
Bookmarks