Directorio de artículos
prefacio
Con la continua popularidad de ZFS, no ha habido un rendimiento intuitivo en Internet sobre si se usan ZIL y L2ARC y qué tan efectivos son. Hoy, realizaremos pruebas reales para ver si ZIL y L2ARC pueden aportar mejoras de rendimiento a ZFS.
1. Entorno de prueba
Sistema operativo: TrueNAS-ESCALA-22.02
UPC: INTEL I3-2100T
Memoria: 1*8G DDR1333
Placa base: ASUS H61
Disco duro: 2*SATA 1TB mecánico (SATA 3G), 1*NVME Optane 16G (PCIE 3.0) 1*SATA 160G (disco del sistema)
Nota: al utilizar esta configuración anterior como plataforma de prueba, puede ver intuitivamente el efecto de la mejora de la velocidad.
2. Pasos de prueba
1. Herramientas y métodos de prueba
La prueba utiliza la herramienta fio que viene con TrueNas para la prueba. Los comandos utilizados en la prueba son los siguientes:
#随机写测试
fio --filename=test --sync=1 --rw=randwrite --bs=1m --numjobs=1 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300
#随机读测试
fio --filename=test --sync=1 --rw=randread --bs=1m --numjobs=1 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300
#顺序写
fio --filename=test --sync=1 --rw=write --bs=1m --numjobs=1 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300
#顺序读
fio --filename=test --sync=1 --rw=read --bs=1m --numjobs=1 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300
Método de prueba: use TrueNas para formar un grupo espejo ZFS con dos discos duros SATA de 1 TB (todos los parámetros son predeterminados), conéctese a TrueNAS a través de SSH y ejecute el comando de prueba de fio. Pruebe Optane 16G solo como un dispositivo ZIL o L2ARC
2. Datos de prueba
escritura aleatoria (1) | escritura aleatoria (2) | escritura secuencial (1) | escritura secuencial (2) | |||||
---|---|---|---|---|---|---|---|---|
B/N (MB/S) | IOPS | B/N (MB/S) | IOPS | B/N (MB/S) | IOPS | B/N (MB/S) | IOPS | |
Sin ZIL | 21.4 | 21 | 21 | 21 | 20.6 | 20 | 21.3 | 21 |
Hay ZIL | 99 | 99 | 99.4 | 99 | 99.5 | 99 | 99.8 | 99 |
lectura aleatoria(1) | lectura aleatoria(2) | lectura secuencial(1) | lectura secuencial(1) | |||||
---|---|---|---|---|---|---|---|---|
B/N (MB/S) | IOPS | B/N (MB/S) | IOPS | B/N (MB/S) | IOPS | B/N (MB/S) | IOPS | |
sin caché | 74.3 | 74 | 67.2 | 67 | 263 | 263 | 269 | 269 |
Hay CACHE | 100 | 100 | 94.3 | 94 | 268 | 267 | 269 | 268 |
Observaciones: dado que se utiliza la placa base H61, SATA siempre quiere admitir hasta 3G, es decir, la velocidad de transmisión real es de hasta 300 MB, por lo que el resultado de la lectura secuencial ya está cerca de la velocidad máxima del bus SATA (considerando la señal pérdida de transmisión, etc.).
Resumir
De los resultados de la prueba:
Escritura: ya sea escritura aleatoria o escritura secuencial, el uso de ZIL de dispositivos NVME ha producido una gran mejora en el rendimiento;
lectura: el uso de CACHE de NVME ha mejorado la lectura aleatoria, pero casi ninguna mejora para la lectura secuencial;
Conclusión: el uso de ZIL y L2ARC en dispositivos basados en NVME puede mejorar el rendimiento de ZFS (especialmente en plataformas más antiguas)