SSD Random Read/Writes langsam unter Linux

NameHere

Admiral
Registriert
Sep. 2013
Beiträge
7.487
Hallo,

mir ist gerade aufgefallen die Random Read/Writes langsam unter Linux im Vergleich zu Windows.

Screenshot_20230304_210906.png


SAMSUNG MZVLB512HBJQ-000L2 entspricht wohl einer 970evo

System Fedora 37

Ist das normal oder kann man das einstellen oder verändern?
 
1GB Tests sind nicht grade aussagekräftig. Da spielen zu viele Caches mit rein. Außerdem ist die Partionsgröße nicht identisch, was auch ein Einflussfaktor sein kann.
 
Alle anderen Werte könnte man unter Messtoleranz betrachten, aber schlimmstenfalls 75% weniger ist schon hart.
 
die beiden tools sehen zwar ähnlich aus, aber ich bezweifle, dass sie auch gleich arbeiten. kdiskmark ist ein frontend für fio - eigentlich müsstest du fio sowohl unter linux als auch windows laufen lassen, um die ergebnisse zu vergleichen.
 
@0x8100 habe ich eine andere Möglichkeit das mit identischen Tools gegen zu checken (Windows/Linux)?
 
als cross-platform tool fällt mir wie gesagt nur fio ein. du müsstest den gleichen test unter linux und windows laufen lassen. schau z.b. mal hier -> https://www.thomas-krenn.com/de/wiki/Fio_unter_Windows_nutzen

unter windows ist es "ioengine=windowsaio", bei linux müsste es "ioengine=libaio" sein.

edit: google hat das hier noch gefunden, um tests ähnlich wie crystaldiskmark zu machen -> https://gist.github.com/0x0I/35a3aa0f810acfddeddb7ff59c37f484

kannst ja die parameter so wie in dem gist wählen.
 
  • Gefällt mir
Reaktionen: NameHere
Habs auf Windows installiert und direkt wieder deinstalliert^^
Musste suchen wo es ist. Kein Startmenüeintrag und dann musste ich feststellen das ich die Konsole nutzen muss und mit dir Befehle zusammensuchen muss.. Warum schwer, wenn es auch einfach geht!

@0x8100 Danke für deine Mühe! Vielleich hat jemand noch eine andere, elegantere Lösung.
 
Solang du nicht roh direkt aufs (unformatierte) Laufwerk schreibst hat auch das Dateisystem und dessen Mountoptionen einen Einfluss. Gerade bei der Vielzahl an möglichen Dateisystemen von Linux mit den unzähligen Optionen kann da der Durchsatz ganz erheblich leiden (man nimmt es meist trotzdem mit, eben weil man die Funktionalität will).

Und Fio gibt maximale Kontrolle und damit Aussagekraft. Wo CrystalMark allenfalls Werte ausspuckt die zur groben Orientierung dienen erlaubt Fio klar definierte Tests, bei denen (mit etwas Lesen) die Anwender ihre realen Lastfälle selbst recht gut in Testfällen abbilden können. Aufgrund der Vielzahl an Parametern kann man das auf dem Terminal, auf der Konsole viel besser als mit GUIs.

Naja und Samsung SSDs haben eine längere Geschichte an problematischem Verhalten und im Vergleich zu Windows reduziertem Durchsatz beim Einsatz von Linux. Bei den Consumerprodukten gibt es von Samsung nahezu keine Unterstützung bzw. Ansprechpartner bei Problemen. So richtig verlässliche Informationen wieso das so ist gibt es meines Wissens nach nicht. Die Samsung Laufwerke sind jedoch verlässlich und selbst mit den Einschränkungen bei der Performance für die meisten Anwendungen mehr als schnell genug. Gerade bei deinem Vergleich, da "leidet" nur Q32T16 bei zufälligen 4K Zugriffen. Das sind Zugriffsmuster eines gut ausgelasteten Datenbankservers. Wer DB-Server auf dem Niveau betreibt, der kommt mit Fio zurecht und wohnt auf dem Terminal. Für den Alltag der meisten Anwender ist Q1T1 RND4K wichtiger und solang der über 10MB/s liegt, fühlen sich die meisten Anwendungen recht flott an.

Edit:
https://www.phoronix.com/review/samsung-980-pro
Test der 980Pro unter Linux, die Benachmarkwerte sind unterwältigend.
 
  • Gefällt mir
Reaktionen: NameHere
NameHere schrieb:
Habs auf Windows installiert und direkt wieder deinstalliert^^
Musste suchen wo es ist. Kein Startmenüeintrag und dann musste ich feststellen das ich die Konsole nutzen muss und mit dir Befehle zusammensuchen muss.. Warum schwer, wenn es auch einfach geht!
Mit GUI wäre fio auch nicht einfacher zu bedienen. Das ist kein Tool für irgendwelche undefinierten Balken.

Hier gibt es ein Tool zum Balken malen mit fio: https://github.com/louwrentius/fio-plot
 
  • Gefällt mir
Reaktionen: Piktogramm
@foofoobar schau ich mir nachher an.
Ich will will noch eine aktuelle CrystalDiskMark Version probieren, weil ich hier in Tests gesehen habe das die Werte eher zu neuen Version passen. KDiskMark ist aktuell.
 
NameHere schrieb:
Habs auf Windows installiert und direkt wieder deinstalliert^^
Musste suchen wo es ist. Kein Startmenüeintrag und dann musste ich feststellen das ich die Konsole nutzen muss und mit dir Befehle zusammensuchen muss.. Warum schwer, wenn es auch einfach geht!
Auf der einen Seite ist es Dir super wichtig ne einigermaßen korrekte Messung zu machen. Auf der anderen Seite willst Du da aber keine Mühe rein investieren und heulst gleich rum, wenn Du mal auf die Kommandozeile musst.

Ein bisschen mitmachen und Eigeninitiative musst Du schon zeigen. Das Forum ist nicht dafür da, die alles mundgrecht aufzubereiten. Wenn Du betreutes computing willst, musst Du Dir halt jemand engagieren.
 
  • Gefällt mir
Reaktionen: Backfisch und Lotsenbruder
Was sagt $ grep "" /sys/block/*/queue/scheduler?
 
  • Gefällt mir
Reaktionen: Piktogramm
Scheduler/None ist in Ordnung. Für max IOPs meist erste Wahl (bei NVMe).
 
  • Gefällt mir
Reaktionen: NameHere
Edit: Fehler beim kopieren ins Textfile.

Jetzt habe ich die Windows Testwerte

rand-read: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=windowsaio, iodepth=32
rand-write: (g=1): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=windowsaio, iodepth=32
read: (g=2): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=windowsaio, iodepth=16
...
write: (g=3): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=windowsaio, iodepth=16
...
fio-3.33
Starting 10 threads
rand-read: Laying out IO file (1 file / 100MiB)
rand-write: Laying out IO file (1 file / 100MiB)
read: Laying out IO file (1 file / 500MiB)
read: Laying out IO file (1 file / 500MiB)
read: Laying out IO file (1 file / 500MiB)
read: Laying out IO file (1 file / 500MiB)
write: Laying out IO file (1 file / 500MiB)
write: Laying out IO file (1 file / 500MiB)
write: Laying out IO file (1 file / 500MiB)
write: Laying out IO file (1 file / 500MiB)
Jobs: 4 (f=4): [_(6),W(4)][100.0%][w=1460MiB/s][w=1460 IOPS][eta 00m:00s]
rand-read: (groupid=0, jobs=1): err= 0: pid=2128: Sun Mar 5 12:47:49 2023
read: IOPS=51.8k, BW=202MiB/s (212MB/s)(100MiB/494msec)
slat (usec): min=8, max=1290, avg=17.52, stdev=17.67
clat (usec): min=33, max=4464, avg=326.38, stdev=216.04
lat (usec): min=57, max=4593, avg=343.89, stdev=221.87
clat percentiles (usec):
| 1.00th=[ 64], 5.00th=[ 90], 10.00th=[ 115], 20.00th=[ 161],
| 30.00th=[ 208], 40.00th=[ 253], 50.00th=[ 302], 60.00th=[ 347],
| 70.00th=[ 396], 80.00th=[ 441], 90.00th=[ 515], 95.00th=[ 660],
| 99.00th=[ 1221], 99.50th=[ 1434], 99.90th=[ 1696], 99.95th=[ 2008],
| 99.99th=[ 3982]
lat (usec) : 50=0.18%, 100=6.95%, 250=32.04%, 500=49.98%, 750=7.95%
lat (usec) : 1000=1.36%
lat (msec) : 2=1.50%, 4=0.04%, 10=0.01%
cpu : usr=0.00%, sys=0.00%, ctx=0, majf=0, minf=0
IO depths : 1=0.1%, 2=0.4%, 4=8.7%, 8=28.9%, 16=58.4%, 32=3.7%, >=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=96.5%, 8=0.1%, 16=0.1%, 32=3.5%, 64=0.0%, >=64=0.0%
issued rwts: total=25600,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
rand-write: (groupid=1, jobs=1): err= 0: pid=8416: Sun Mar 5 12:47:49 2023
write: IOPS=33.4k, BW=130MiB/s (137MB/s)(100MiB/767msec); 0 zone resets
slat (usec): min=10, max=19539, avg=26.55, stdev=170.67
clat (nsec): min=1000, max=33164k, avg=461716.90, stdev=544568.56
lat (usec): min=37, max=52703, avg=488.27, stdev=638.19
clat percentiles (usec):
| 1.00th=[ 38], 5.00th=[ 71], 10.00th=[ 106], 20.00th=[ 184],
| 30.00th=[ 258], 40.00th=[ 334], 50.00th=[ 412], 60.00th=[ 486],
| 70.00th=[ 570], 80.00th=[ 644], 90.00th=[ 832], 95.00th=[ 1012],
| 99.00th=[ 1631], 99.50th=[ 2278], 99.90th=[ 3195], 99.95th=[13698],
| 99.99th=[18482]
bw ( KiB/s): min=128493, max=128493, per=96.24%, avg=128493.00, stdev= 0.00, samples=1
iops : min=32123, max=32123, avg=32123.00, stdev= 0.00, samples=1
lat (usec) : 2=0.01%, 20=0.04%, 50=2.60%, 100=6.44%, 250=19.74%
lat (usec) : 500=32.79%, 750=25.89%, 1000=7.04%
lat (msec) : 2=4.73%, 4=0.66%, 20=0.05%, 50=0.01%
cpu : usr=0.00%, sys=0.00%, ctx=0, majf=0, minf=0
IO depths : 1=0.1%, 2=4.8%, 4=13.1%, 8=26.2%, 16=52.5%, 32=3.3%, >=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=96.8%, 8=0.0%, 16=0.0%, 32=3.2%, 64=0.0%, >=64=0.0%
issued rwts: total=0,25600,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
read: (groupid=2, jobs=4): err= 0: pid=1252: Sun Mar 5 12:47:49 2023
read: IOPS=2849, BW=2849MiB/s (2987MB/s)(2000MiB/702msec)
slat (usec): min=39, max=3985, avg=79.75, stdev=107.94
clat (usec): min=4590, max=34022, avg=18429.27, stdev=2131.01
lat (usec): min=6111, max=34099, avg=18509.02, stdev=2095.95
clat percentiles (usec):
| 1.00th=[ 9241], 5.00th=[15926], 10.00th=[18220], 20.00th=[18220],
| 30.00th=[18482], 40.00th=[18744], 50.00th=[18744], 60.00th=[18744],
| 70.00th=[18744], 80.00th=[19006], 90.00th=[19268], 95.00th=[19530],
| 99.00th=[23200], 99.50th=[28443], 99.90th=[33817], 99.95th=[33817],
| 99.99th=[33817]
bw ( MiB/s): min= 2610, max= 2610, per=91.61%, avg=2610.05, stdev= 0.00, samples=4
iops : min= 2608, max= 2608, avg=2608.00, stdev= 0.00, samples=4
lat (msec) : 10=2.05%, 20=95.80%, 50=2.15%
cpu : usr=0.00%, sys=0.00%, ctx=0, majf=0, minf=0
IO depths : 1=0.2%, 2=0.4%, 4=0.8%, 8=1.9%, 16=96.7%, 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=99.9%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=2000,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
write: (groupid=3, jobs=4): err= 0: pid=2360: Sun Mar 5 12:47:49 2023
write: IOPS=2911, BW=2911MiB/s (3053MB/s)(2000MiB/687msec); 0 zone resets
slat (usec): min=502, max=13039, avg=1335.56, stdev=590.71
clat (usec): min=2, max=51260, avg=10516.29, stdev=6449.94
lat (usec): min=554, max=60386, avg=11851.85, stdev=6598.30
clat percentiles (usec):
| 1.00th=[ 1057], 5.00th=[ 1303], 10.00th=[ 2540], 20.00th=[ 3949],
| 30.00th=[ 6325], 40.00th=[ 7898], 50.00th=[10159], 60.00th=[12256],
| 70.00th=[14222], 80.00th=[16581], 90.00th=[18482], 95.00th=[19530],
| 99.00th=[22152], 99.50th=[38011], 99.90th=[48497], 99.95th=[51119],
| 99.99th=[51119]
bw ( MiB/s): min= 2832, max= 2832, per=97.30%, avg=2832.50, stdev= 0.00, samples=4
iops : min= 2831, max= 2831, avg=2831.00, stdev= 0.00, samples=4
lat (usec) : 4=0.35%, 10=0.10%, 20=0.05%, 750=0.25%, 1000=0.15%
lat (msec) : 2=6.75%, 4=12.55%, 10=27.80%, 20=48.50%, 50=3.45%
lat (msec) : 100=0.05%
cpu : usr=0.00%, sys=0.00%, ctx=0, majf=0, minf=0
IO depths : 1=0.5%, 2=13.6%, 4=26.6%, 8=52.8%, 16=6.6%, 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=93.8%, 8=0.1%, 16=6.2%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,2000,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16

Run status group 0 (all jobs):
READ: bw=202MiB/s (212MB/s), 202MiB/s-202MiB/s (212MB/s-212MB/s), io=100MiB (105MB), run=494-494msec

Run status group 1 (all jobs):
WRITE: bw=130MiB/s (137MB/s), 130MiB/s-130MiB/s (137MB/s-137MB/s), io=100MiB (105MB), run=767-767msec

Run status group 2 (all jobs):
READ: bw=2849MiB/s (2987MB/s), 2849MiB/s-2849MiB/s (2987MB/s-2987MB/s), io=2000MiB (2097MB), run=702-702msec

Run status group 3 (all jobs):
WRITE: bw=2911MiB/s (3053MB/s), 2911MiB/s-2911MiB/s (3053MB/s-3053MB/s), io=2000MiB (2097MB), run=687-687msec

Edit Linux Testwerte. Beides unter Akku durchgeführt

rand-read: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iod
epth=32
rand-write: (g=1): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, i
odepth=32
read: (g=2): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio,
iodepth=16
...
write: (g=3): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio
, iodepth=16
...
fio-3.30
Starting 10 threads
rand-read: Laying out IO file (1 file / 100MiB)
rand-write: Laying out IO file (1 file / 100MiB)
read: Laying out IO file (1 file / 500MiB)
read: Laying out IO file (1 file / 500MiB)
read: Laying out IO file (1 file / 500MiB)
read: Laying out IO file (1 file / 500MiB)
write: Laying out IO file (1 file / 500MiB)
write: Laying out IO file (1 file / 500MiB)
write: Laying out IO file (1 file / 500MiB)
write: Laying out IO file (1 file / 500MiB)
Jobs: 1 (f=1): [_(1),w(1),P(8)][0.0%][r=93.8MiB/s,w=85.7MiB/s][r=24.0k,w=21.9k IOPS][eta 74565d:09h:42m:2
Jobs: 0 (f=0)
rand-read: (groupid=0, jobs=1): err= 0: pid=2513: Sun Mar 5 13:02:44 2023
read: IOPS=131k, BW=513MiB/s (538MB/s)(100MiB/195msec)
slat (nsec): min=2715, max=69461, avg=5589.77, stdev=3415.34
clat (usec): min=78, max=662, avg=236.06, stdev=74.40
lat (usec): min=81, max=665, avg=241.81, stdev=75.63
clat percentiles (usec):
| 1.00th=[ 122], 5.00th=[ 139], 10.00th=[ 149], 20.00th=[ 163],
| 30.00th=[ 176], 40.00th=[ 194], 50.00th=[ 223], 60.00th=[ 273],
| 70.00th=[ 293], 80.00th=[ 310], 90.00th=[ 330], 95.00th=[ 351],
| 99.00th=[ 404], 99.50th=[ 433], 99.90th=[ 502], 99.95th=[ 553],
| 99.99th=[ 627]
lat (usec) : 100=0.07%, 250=55.90%, 500=43.91%, 750=0.12%
cpu : usr=17.01%, sys=56.70%, ctx=10, majf=0, minf=33
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=99.9%, >=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=25600,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
rand-write: (groupid=1, jobs=1): err= 0: pid=2514: Sun Mar 5 13:02:44 2023
write: IOPS=51.3k, BW=200MiB/s (210MB/s)(100MiB/499msec); 0 zone resets
slat (usec): min=5, max=294, avg=16.19, stdev=10.35
clat (usec): min=31, max=1339, avg=605.24, stdev=151.35
lat (usec): min=39, max=1359, avg=621.62, stdev=154.52
clat percentiles (usec):
| 1.00th=[ 449], 5.00th=[ 465], 10.00th=[ 478], 20.00th=[ 506],
| 30.00th=[ 523], 40.00th=[ 537], 50.00th=[ 545], 60.00th=[ 562],
| 70.00th=[ 594], 80.00th=[ 725], 90.00th=[ 889], 95.00th=[ 947],
| 99.00th=[ 1037], 99.50th=[ 1106], 99.90th=[ 1172], 99.95th=[ 1188],
| 99.99th=[ 1237]
lat (usec) : 50=0.01%, 100=0.01%, 250=0.03%, 500=17.84%, 750=63.46%
lat (usec) : 1000=17.12%
lat (msec) : 2=1.54%
cpu : usr=6.22%, sys=57.23%, ctx=12478, majf=0, minf=1
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=99.9%, >=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,25600,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32
read: (groupid=2, jobs=4): err= 0: pid=2529: Sun Mar 5 13:02:44 2023
read: IOPS=3389, BW=3390MiB/s (3554MB/s)(2000MiB/590msec)
slat (usec): min=41, max=2051, avg=128.17, stdev=183.89
clat (usec): min=7628, max=32864, avg=18109.34, stdev=2335.93
lat (usec): min=7716, max=32983, avg=18238.38, stdev=2246.62
clat percentiles (usec):
| 1.00th=[ 8848], 5.00th=[14222], 10.00th=[16057], 20.00th=[16909],
| 30.00th=[17433], 40.00th=[17957], 50.00th=[18482], 60.00th=[18744],
| 70.00th=[19006], 80.00th=[19268], 90.00th=[19792], 95.00th=[20841],
| 99.00th=[23462], 99.50th=[26608], 99.90th=[32113], 99.95th=[32900],
| 99.99th=[32900]
lat (msec) : 10=1.75%, 20=90.40%, 50=7.85%
cpu : usr=1.30%, sys=9.90%, ctx=1960, majf=0, minf=16388
IO depths : 1=0.2%, 2=0.4%, 4=0.8%, 8=1.6%, 16=97.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=99.8%, 8=0.0%, 16=0.2%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=2000,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
write: (groupid=3, jobs=4): err= 0: pid=2533: Sun Mar 5 13:02:44 2023
write: IOPS=2989, BW=2990MiB/s (3135MB/s)(2000MiB/669msec); 0 zone resets
slat (usec): min=72, max=344, avg=140.59, stdev=36.11
clat (usec): min=2936, max=38331, avg=20799.49, stdev=2931.84
lat (usec): min=3105, max=38493, avg=20940.93, stdev=2924.40
clat percentiles (usec):
| 1.00th=[ 6390], 5.00th=[17695], 10.00th=[19268], 20.00th=[20055],
| 30.00th=[20317], 40.00th=[20579], 50.00th=[20841], 60.00th=[21365],
| 70.00th=[21627], 80.00th=[22414], 90.00th=[23200], 95.00th=[23987],
| 99.00th=[26346], 99.50th=[30016], 99.90th=[38011], 99.95th=[38536],
| 99.99th=[38536]
bw ( MiB/s): min= 2994, max= 2994, per=100.00%, avg=2994.00, stdev= 0.00, samples=4
iops : min= 2994, max= 2994, avg=2994.00, stdev= 0.00, samples=4
lat (msec) : 4=0.60%, 10=1.20%, 20=18.10%, 50=80.10%
cpu : usr=5.98%, sys=6.36%, ctx=2003, majf=0, minf=4
IO depths : 1=0.2%, 2=0.4%, 4=0.8%, 8=1.6%, 16=97.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=99.8%, 8=0.0%, 16=0.2%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,2000,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16

Run status group 0 (all jobs):
READ: bw=513MiB/s (538MB/s), 513MiB/s-513MiB/s (538MB/s-538MB/s), io=100MiB (105MB), run=195-195msec

Run status group 1 (all jobs):
WRITE: bw=200MiB/s (210MB/s), 200MiB/s-200MiB/s (210MB/s-210MB/s), io=100MiB (105MB), run=499-499msec

Run status group 2 (all jobs):
READ: bw=3390MiB/s (3554MB/s), 3390MiB/s-3390MiB/s (3554MB/s-3554MB/s), io=2000MiB (2097MB), run=590-5
90msec

Run status group 3 (all jobs):
WRITE: bw=2990MiB/s (3135MB/s), 2990MiB/s-2990MiB/s (3135MB/s-3135MB/s), io=2000MiB (2097MB), run=669-6
69msec

Disk stats (read/write):
nvme0n1: ios=28015/27223, merge=0/18, ticks=45269/34559, in_queue=79830, util=63.06%

@0x8100 @Piktogramm @foofoobar @andy_m4 @Uridium Danke für die Hilfe.
Jetzt muss mir nur jemand sagen welche Werte ich vergleichen soll.
 
Zuletzt bearbeitet:
Habe nochmal Tests mit Netzteil gemacht

Linux
Run status group 0 (all jobs):
READ: bw=568MiB/s (596MB/s), 568MiB/s-568MiB/s (596MB/s-596MB/s), io=100MiB (105MB), run=176-176msec

Run status group 1 (all jobs):
WRITE: bw=476MiB/s (499MB/s), 476MiB/s-476MiB/s (499MB/s-499MB/s), io=100MiB (105MB), run=210-210msec

Run status group 2 (all jobs):
READ: bw=3350MiB/s (3513MB/s), 3350MiB/s-3350MiB/s (3513MB/s-3513MB/s), io=2000MiB (2097MB), run=597-597msec

Run status group 3 (all jobs):
WRITE: bw=2813MiB/s (2950MB/s), 2813MiB/s-2813MiB/s (2950MB/s-2950MB/s), io=2000MiB (2097MB), run=711-711msec

Windows 10

Run status group 0 (all jobs):
READ: bw=457MiB/s (479MB/s), 457MiB/s-457MiB/s (479MB/s-479MB/s), io=100MiB (105MB), run=219-219msec

Run status group 1 (all jobs):
WRITE: bw=341MiB/s (358MB/s), 341MiB/s-341MiB/s (358MB/s-358MB/s), io=100MiB (105MB), run=293-293msec

Run status group 2 (all jobs):
READ: bw=3263MiB/s (3421MB/s), 3263MiB/s-3263MiB/s (3421MB/s-3421MB/s), io=2000MiB (2097MB), run=613-613msec

Run status group 3 (all jobs):
WRITE: bw=2751MiB/s (2885MB/s), 2751MiB/s-2751MiB/s (2885MB/s-2885MB/s), io=2000MiB (2097MB), run=727-727msec

Mit dem fio Test sind die random read/writes besser unter Linux.

Ist das jetzt "wer viel misst, misst Mist"!?:D
 
  • Gefällt mir
Reaktionen: Piktogramm
Edit:
IGNORE ME
Das ist kein sinnvoller postPost, habe Alt+s erwischt als ich den eröffnenden Code tag offen hatte...
Code:
 
Danke für den Lauf unter Windows.

Meine Fresse ist Windows schlecht.
Insbesondere die heftigen Ausreißer (4 - 4,5 ms) bei den Perzentilen der Completion-Latency sind schon ziemlich übel.
Windows taugt einfach nicht um SSDs zu testen, Windows lässt da mehr als die Hälfte der Leistung liegen.

Win:

rand-read: (groupid=0, jobs=1): err= 0: pid=2128: Sun Mar 5 12:47:49 2023
read: IOPS=51.8k, BW=202MiB/s (212MB/s)(100MiB/494msec)
slat (usec): min=8, max=1290, avg=17.52, stdev=17.67
clat (usec): min=33, max=4464, avg=326.38, stdev=216.04
lat (usec): min=57, max=4593, avg=343.89, stdev=221.87
clat percentiles (usec):
| 1.00th=[ 64], 5.00th=[ 90], 10.00th=[ 115], 20.00th=[ 161],
| 30.00th=[ 208], 40.00th=[ 253], 50.00th=[ 302], 60.00th=[ 347],
| 70.00th=[ 396], 80.00th=[ 441], 90.00th=[ 515], 95.00th=[ 660],
| 99.00th=[ 1221], 99.50th=[ 1434], 99.90th=[ 1696], 99.95th=[ 2008],
| 99.99th=[ 3982]

Lin:

rand-read: (groupid=0, jobs=1): err= 0: pid=2513: Sun Mar 5 13:02:44 2023
read: IOPS=131k, BW=513MiB/s (538MB/s)(100MiB/195msec)
slat (nsec): min=2715, max=69461, avg=5589.77, stdev=3415.34
clat (usec): min=78, max=662, avg=236.06, stdev=74.40
lat (usec): min=81, max=665, avg=241.81, stdev=75.63
clat percentiles (usec):
| 1.00th=[ 122], 5.00th=[ 139], 10.00th=[ 149], 20.00th=[ 163],
| 30.00th=[ 176], 40.00th=[ 194], 50.00th=[ 223], 60.00th=[ 273],
| 70.00th=[ 293], 80.00th=[ 310], 90.00th=[ 330], 95.00th=[ 351],
| 99.00th=[ 404], 99.50th=[ 433], 99.90th=[ 502], 99.95th=[ 553],
| 99.99th=[ 627]

Ergänzung ()

BTW: Wenn du es dir noch mal richtig geben willst kann du ja mal mit blktrace rumspielen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: NameHere
ich habe noch den von @0x8100 verlinkten fio crytaldiskmark benchamrk laufen lassen

Results from /dev/nvme0n1p, ():

Sequential Read: 3273MB/s IOPS=3
Sequential Write: 2568MB/s IOPS=2

512KB Read: 2016MB/s IOPS=4033
512KB Write: 2077MB/s IOPS=4155

Sequential Q32T1 Read: 3337MB/s IOPS=104
Sequential Q32T1 Write: 2825MB/s IOPS=88

4KB Read: 56MB/s IOPS=14576
4KB Write: 108MB/s IOPS=27837

4KB Q32T1 Read: 983MB/s IOPS=251674
4KB Q32T1 Write: 701MB/s IOPS=179476

4KB Q8T8 Read: 1650MB/s IOPS=422647
4KB Q8T8 Write: 1025MB/s IOPS=262579
 
Ich diskutiere das Thema hier weiter.

@NameHere: Kannst du bitte die genauen fio-Parameter dort noch mal posten.
 
  • Gefällt mir
Reaktionen: NameHere
Zurück
Oben