Ich habe Deinen Befehl mit Adaption auf Windows System und auf meinem 8000er Äquivalent ohne UEFI ausgeführt:
fio --randrepeat=1 --ioengine=windowsaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randrw
mit einer Size von 4G (!) durchgeführt.
test: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=windowsaio, iodepth=64
fio-3.27
Starting 1 thread
Jobs: 1 (f=1): [m(1)][100.0%][r=68.2MiB/s,w=68.3MiB/s][r=17.5k,w=17.5k IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=11532: Mon May 30 19:53:38 2022
read: IOPS=10.8k, BW=42.3MiB/s (44.3MB/s)(2049MiB/48471msec)
bw ( KiB/s): min=22340, max=91285, per=100.00%, avg=61037.70, stdev=12756.90, samples=67
iops : min= 5585, max=22821, avg=15259.19, stdev=3189.18, samples=67
write: IOPS=10.8k, BW=42.2MiB/s (44.3MB/s)(2047MiB/48471msec); 0 zone resets
bw ( KiB/s): min=21210, max=91192, per=100.00%, avg=60934.55, stdev=12857.46, samples=67
iops : min= 5302, max=22798, avg=15233.37, stdev=3214.35, samples=67
cpu : usr=2.06%, sys=35.07%, ctx=0, majf=0, minf=0
IO depths : 1=0.1%, 2=0.1%, 4=0.7%, 8=5.0%, 16=17.6%, 32=70.9%, >=64=5.7%
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=96.9%, 8=0.6%, 16=0.5%, 32=0.6%, 64=1.3%, >=64=0.0%
issued rwts: total=524625,523951,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: bw=42.3MiB/s (44.3MB/s), 42.3MiB/s-42.3MiB/s (44.3MB/s-44.3MB/s), io=2049MiB (2149MB), run=48471-48471msec
WRITE: bw=42.2MiB/s (44.3MB/s), 42.2MiB/s-42.2MiB/s (44.3MB/s-44.3MB/s), io=2047MiB (2146MB), run=48471-48471msec
Alles anzeigen
Ist deutlich besser als Dein "ohne UEFI".
Imho hast Du einfach zwei verschieden gestreute Tests rausbekommen, evtl könnte die geringer Größe des Testfiles von 1G hier auch eine Rolle spielen.
Ich würde davon ausgehen, dass BIOS/UEFI keinerlei Auswirkungen auf die Performance hat.