Rendimiento inesperado de escritura asíncrona de ZFS en diferentes profundidades de cola

Rendimiento inesperado de escritura asíncrona de ZFS en diferentes profundidades de cola

Por alguna razón, QD2 parece ser el mejor en términos de IOPS sin procesar...

Después de ver un artículo interesante.comparando un par de unidades diferentes para el uso de SLOG, Sentí curiosidad sobre el rendimiento de mi propio sistema en diferentes profundidades de cola.

El sistema consta de un i9-13900K, una memoria de sistema DDR5-4800 de 128 GB y dos Samsung 980 PRO como Vdev con espejo único. La prueba ejecuta FIO en la siguiente configuración en un contenedor en 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

Algo extraño que noté fue que durante las escrituras asíncronas, el mejor rendimiento se produciría consistentemente en profundidades de cola de 2. Probé varias combinaciones diferentes de compresión, tamaño de bloque y tamaño de registro, pero QD2 obtuvo consistentemente los mejores puntajes de IOPS... Lo hubiera esperado. para mejorar en colas de mayor profundidad o me estoy perdiendo algo? (Me pregunto si está relacionado con que las unidades tengan solo dos chips NAND por unidad).

No se ha realizado ningún ajuste ZFS específico aparte de configurar ashift=12 y lo que se enumera arriba.

¿Alguien sabe por qué las escrituras asíncronas de ZFS parecen funcionar mejor en QD2 en comparación con QD1, QD4 o QD8?

Y ahora… ¡Gráficos! Estos son los resultados promedio de las 216 combinaciones diferentes que probé.

IOPS frente a tamaño de registro (No entiendo por qué un tamaño récord de 16k fue el peor) Tamaño de bloque IOPS vs FIO (Un tamaño de bloque de 8k todavía resulta en másbanda ancha) IOPS frente a compresión

Un poco sorprendido de ver a Zstd venciendo a LZ4. ¿Quizás estoy alcanzando los límites de IO de estos pobres SSD? ElactualLa actividad del SSD normalmente alcanzó los 400-700 MB/s durante las pruebas.

NB Durante todas las pruebas, el regulador de la CPU se configuró en "Rendimiento", cuando se configuró en "Ahorro de energía", las cifras de IOPS fueron entre un 30 y un 50 % peores.

información relacionada