Here is what i got running the test on the server.
$ fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=1M --numjobs=1 --size=4g --iodepth=1 --runtime=60 --time_based --fsync=1 --end_fsync=1
random-write: (g=0): rw=randwrite, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=posixaio, iodepth=1
fio-3.37
Starting 1 process
random-write: Laying out IO file (1 file / 4096MiB)
Jobs: 1 (f=1): [w(1)][100.0%][w=543MiB/s][w=543 IOPS][eta 00m:00s]
random-write: (groupid=0, jobs=1): err= 0: pid=3353026: Thu Aug 29 21:46:29 2024
write: IOPS=672, BW=672MiB/s (705MB/s)(39.4GiB/60002msec); 0 zone resets
slat (usec): min=13, max=1978, avg=68.46, stdev=24.85
clat (usec): min=141, max=285728, avg=765.33, stdev=1991.82
lat (usec): min=169, max=285801, avg=833.79, stdev=1992.57
clat percentiles (usec):
| 1.00th=[ 202], 5.00th=[ 269], 10.00th=[ 318], 20.00th=[ 437],
| 30.00th=[ 553], 40.00th=[ 627], 50.00th=[ 709], 60.00th=[ 791],
| 70.00th=[ 873], 80.00th=[ 955], 90.00th=[ 1090], 95.00th=[ 1254],
| 99.00th=[ 2802], 99.50th=[ 3163], 99.90th=[ 4228], 99.95th=[ 5014],
| 99.99th=[83362]
bw ( KiB/s): min=71680, max=884736, per=100.00%, avg=689018.55, stdev=138327.41, samples=119
iops : min= 70, max= 864, avg=672.85, stdev=135.12, samples=119
lat (usec) : 250=2.25%, 500=22.52%, 750=30.51%, 1000=28.49%
lat (msec) : 2=14.74%, 4=1.35%, 10=0.12%, 20=0.01%, 50=0.01%
lat (msec) : 100=0.01%, 250=0.01%, 500=0.01%
fsync/fdatasync/sync_file_range:
sync (usec): min=425, max=135463, avg=640.99, stdev=990.13
sync percentiles (usec):
| 1.00th=[ 457], 5.00th=[ 474], 10.00th=[ 490], 20.00th=[ 506],
| 30.00th=[ 523], 40.00th=[ 537], 50.00th=[ 553], 60.00th=[ 570],
| 70.00th=[ 594], 80.00th=[ 635], 90.00th=[ 783], 95.00th=[ 1012],
| 99.00th=[ 1631], 99.50th=[ 3032], 99.90th=[ 6325], 99.95th=[10290],
| 99.99th=[34866]
cpu : usr=6.09%, sys=1.08%, ctx=80828, majf=14, minf=2920
IO depths : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=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.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,40327,0,40326 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
WRITE: bw=672MiB/s (705MB/s), 672MiB/s-672MiB/s (705MB/s-705MB/s), io=39.4GiB (42.3GB), run=60002-60002msec
For NFS i mount the filesystem on the client using:
In /etc/fstab
172.16.1.5:/home/user/stuff /home/user/stuff nfs _netdev,auto,x-systemd.automount,x-systemd.mount-timeout=10,timeo=14,x-systemd.idle-timeout=1min,rw,noatime,nodiratime,rsize=131072,wsize=131072,sync 0 0
I made an iperf3 test in the forward/reverse direction from the client.
$ iperf3 -c 172.16.1.5
Connecting to host 172.16.1.5, port 5201
[ 5] local 172.16.1.28 port 51516 connected to 172.16.1.5 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 1018 MBytes 8.53 Gbits/sec 0 404 KBytes
[ 5] 1.00-2.00 sec 1.09 GBytes 9.37 Gbits/sec 0 433 KBytes
[ 5] 2.00-3.00 sec 1.09 GBytes 9.37 Gbits/sec 0 430 KBytes
[ 5] 3.00-4.00 sec 1.09 GBytes 9.36 Gbits/sec 0 450 KBytes
[ 5] 4.00-5.00 sec 1.09 GBytes 9.35 Gbits/sec 0 410 KBytes
[ 5] 5.00-6.00 sec 1.09 GBytes 9.34 Gbits/sec 0 551 KBytes
[ 5] 6.00-7.00 sec 1.09 GBytes 9.37 Gbits/sec 0 407 KBytes
[ 5] 7.00-8.00 sec 1.09 GBytes 9.36 Gbits/sec 0 404 KBytes
[ 5] 8.00-9.00 sec 1.08 GBytes 9.32 Gbits/sec 0 410 KBytes
[ 5] 9.00-10.00 sec 1.09 GBytes 9.37 Gbits/sec 0 421 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 10.8 GBytes 9.28 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 10.8 GBytes 9.27 Gbits/sec receiver
iperf Done.
$ iperf3 -c 172.16.1.5 -R
Connecting to host 172.16.1.5, port 5201
Reverse mode, remote host 172.16.1.5 is sending
[ 5] local 172.16.1.28 port 59822 connected to 172.16.1.5 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 1.04 GBytes 8.94 Gbits/sec
[ 5] 1.00-2.00 sec 1.09 GBytes 9.37 Gbits/sec
[ 5] 2.00-3.00 sec 1.09 GBytes 9.36 Gbits/sec
[ 5] 3.00-4.00 sec 1.06 GBytes 9.09 Gbits/sec
[ 5] 4.00-5.00 sec 1.07 GBytes 9.20 Gbits/sec
[ 5] 5.00-6.00 sec 1.09 GBytes 9.35 Gbits/sec
[ 5] 6.00-7.00 sec 1.09 GBytes 9.32 Gbits/sec
[ 5] 7.00-8.00 sec 1.09 GBytes 9.34 Gbits/sec
[ 5] 8.00-9.00 sec 1.09 GBytes 9.33 Gbits/sec
[ 5] 9.00-10.00 sec 1.09 GBytes 9.36 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 10.8 GBytes 9.27 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 10.8 GBytes 9.27 Gbits/sec receiver
Last test i did was to run on the client itself. i did a âcdâ to the directory nfs mounted on the client. A fio test showed again a drop in speed.
$ fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=1M --numjobs=1 --size=4g --iodepth=1 --runtime=60 --time_based --fsync=1 --end_fsync=1
random-write: (g=0): rw=randwrite, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=posixaio, iodepth=1
fio-3.37
Starting 1 process
random-write: Laying out IO file (1 file / 4096MiB)
Jobs: 1 (f=1): [w(1)][100.0%][w=206MiB/s][w=206 IOPS][eta 00m:00s]
random-write: (groupid=0, jobs=1): err= 0: pid=434243: Thu Aug 29 21:56:24 2024
write: IOPS=229, BW=229MiB/s (240MB/s)(13.4GiB/60001msec); 0 zone resets
slat (usec): min=10, max=746, avg=48.47, stdev=25.22
clat (usec): min=2043, max=32017, avg=4164.84, stdev=1645.62
lat (usec): min=2067, max=32090, avg=4213.32, stdev=1663.24
clat percentiles (usec):
| 1.00th=[ 2180], 5.00th=[ 2311], 10.00th=[ 2409], 20.00th=[ 2606],
| 30.00th=[ 2835], 40.00th=[ 3195], 50.00th=[ 3687], 60.00th=[ 4686],
| 70.00th=[ 5473], 80.00th=[ 5735], 90.00th=[ 5997], 95.00th=[ 6325],
| 99.00th=[ 7963], 99.50th=[ 9372], 99.90th=[15270], 99.95th=[18220],
| 99.99th=[22676]
bw ( KiB/s): min=75776, max=442368, per=100.00%, avg=234762.76, stdev=52626.82, samples=119
iops : min= 74, max= 432, avg=229.26, stdev=51.39, samples=119
lat (msec) : 4=53.25%, 10=46.35%, 20=0.38%, 50=0.02%
fsync/fdatasync/sync_file_range:
sync (usec): min=4, max=1069, avg=55.12, stdev=42.70
sync percentiles (usec):
| 1.00th=[ 8], 5.00th=[ 10], 10.00th=[ 11], 20.00th=[ 16],
| 30.00th=[ 25], 40.00th=[ 38], 50.00th=[ 47], 60.00th=[ 57],
| 70.00th=[ 71], 80.00th=[ 92], 90.00th=[ 116], 95.00th=[ 135],
| 99.00th=[ 155], 99.50th=[ 159], 99.90th=[ 314], 99.95th=[ 375],
| 99.99th=[ 988]
cpu : usr=1.84%, sys=2.15%, ctx=27665, majf=15, minf=18
IO depths : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=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.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,13744,0,13744 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
WRITE: bw=229MiB/s (240MB/s), 229MiB/s-229MiB/s (240MB/s-240MB/s), io=13.4GiB (14.4GB), run=60001-60001msec