Unerwartete asynchrone ZFS-Schreibleistung bei unterschiedlichen Warteschlangentiefen

Unerwartete asynchrone ZFS-Schreibleistung bei unterschiedlichen Warteschlangentiefen

Aus irgendeinem Grund scheint QD2 in Bezug auf die Roh-IOPS das Beste zu sein ...

Nachdem ich einen interessanten Artikel gesehen hatteVergleich einiger verschiedener Laufwerke hinsichtlich der SLOG-Nutzungwurde ich neugierig auf die Leistung meines eigenen Systems bei unterschiedlichen Warteschlangentiefen.

Das System besteht aus einem i9-13900K, 128 GB DDR5-4800 Systemspeicher und zwei Samsung 980 PROs als einzelnes gespiegeltes Vdev. Der Test läuft mit FIO in der folgenden Konfiguration in einem Container auf ProxMox 7:

fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=<4k/8k> --numjobs=1 --size=8g --iodepth=<1/2/4/8> --runtime=30 --time_based

Mir ist etwas Merkwürdiges aufgefallen: Bei asynchronen Schreibvorgängen war die beste Leistung durchweg bei einer Warteschlangentiefe von 2. Ich habe mehrere verschiedene Kombinationen aus Komprimierung, Blockgröße und Datensatzgröße ausprobiert, aber QD2 hatte durchweg die besten IOPS-Werte … Ich hätte erwartet, dass es bei höheren Warteschlangentiefen besser wird, oder übersehe ich etwas? (Ich frage mich, ob es damit zusammenhängt, dass die Laufwerke nur zwei NAND-Chips pro Laufwerk haben?)

Außer der Einstellung von ashift=12 und den oben aufgeführten Schritten wurden keine spezifischen ZFS-Optimierungen durchgeführt.

Weiß jemand, warum asynchrone ZFS-Schreibvorgänge bei QD2 im Vergleich zu QD1, QD4 oder QD8 am besten zu funktionieren scheinen?

Und jetzt ... Diagramme! Dies sind die Durchschnittsergebnisse der 216 verschiedenen Kombinationen, die ich ausprobiert habe.

IOPS vs. Datensatzgröße (warum eine Datensatzgröße von 16 KB das Schlimmste war, ist mir schleierhaft) IOPS vs. FIO-Blockgröße (Eine Blockgröße von 8k ergibt immer noch mehr GesamtBandbreite) IOPS vs. Komprimierung

Etwas überrascht, dass Zstd LZ4 schlägt. Vielleicht erreiche ich die IO-Grenzen dieser armen SSDs? DietatsächlichDie SSD-Aktivität erreichte beim Testen normalerweise 400–700 MB/s.

NB: Während aller Tests war der CPU-Regler auf „Leistung“ eingestellt. Bei der Einstellung „Energiesparen“ waren die IOPS-Werte um 30–50 % schlechter!

verwandte Informationen