%20(Debian%2FProxmox).png)
Resumen
Veo un rendimiento de E/S que fluctúa drásticamente en un espejo SSD ZFS en Proxmox VE 7 (Bullseye). Simplemente soy demasiado novato para poder localizarlo por mi cuenta.
Detalles
Este es un rendimiento MUY notablemente pobre en tareas del mundo real, por lo que no se trata solo de puntos de referencia artificiales. Pero para ayudar a diagnosticarlo estoy ejecutando:
sysbench fileio --file-test-mode=rndrw run
Se ejecuta "bare-metal" desde la terminal Proxmox sin ninguna VM activa. Los resultados varían enormemente. Aquí hay dos ejemplos:
File operations:
reads/s: 2316.07
writes/s: 1544.08
fsyncs/s: 4949.70
Throughput:
read, MiB/s: 36.19
written, MiB/s: 24.13
General statistics:
total time: 10.0062s
total number of events: 88040
Latency (ms):
min: 0.00
avg: 0.11
max: 35.66
95th percentile: 0.65
sum: 9947.54
Threads fairness:
events (avg/stddev): 88040.0000/0.00
execution time (avg/stddev): 9.9475/0.00
y
File operations:
reads/s: 22.60
writes/s: 15.07
fsyncs/s: 56.98
Throughput:
read, MiB/s: 0.35
written, MiB/s: 0.24
General statistics:
total time: 10.6162s
total number of events: 877
Latency (ms):
min: 0.00
avg: 11.43
max: 340.62
95th percentile: 77.19
sum: 10020.19
Threads fairness:
events (avg/stddev): 877.0000/0.00
execution time (avg/stddev): 10.0202/0.00
Como puede ver, hay una variación de 10.000 veces en el número total de eventos y un aumento masivo en la latencia. Estos cambios no son "únicos". Está fluctuando constantemente entre este tipo de extremos.
He hecho todo lo posible para intentar reducir los problemas simples de hardware. Ambos SSD son nuevos y los 100 están en smartctl. Cambié los cables SATA. Lo ejecuté con el espejo degradado para intentar aislar un problema de una sola unidad. Moví las unidades a un controlador SATA separado. Nada me da un resultado diferente.
Tengo un segundo servidor configurado de manera similar, aunque con SSD más antiguos (e incomparables) en el espejo. No veo este problema. Sin embargo, el hardware del servidor difiere. Los malos resultados provienen del sistema que se describe a continuación. Los resultados aparentemente "normales" provienen de una vieja PC reconvertida con un E3-1275v2.
Lo que espero son consejos que me ayuden a diagnosticar este problema. Parece que el problema está en la latencia. ¿Qué puede causar esto? ¿Qué próximos pasos debo tomar?
¡Gracias de antemano!
Sistema (si ayuda)
- MB: Supermicro X9DRi-F
- CPU: Doble Xeon E5-2650 v2
- RAM: 128 GB (8 x 16 GB)
- Controladores SATA: SATA 3 integrado (también se probó SATA 2 separado)
- SSD: 2x 1GB TeamGroup SATA (sí, barato, pero debería estar bien)
- Tarjetas PCIe:
- Mellanox MCX312B
- LSI SAS9207-8i (HBA conectado a 8 discos desmontados... pasado a VM)
- Nvidia GTX 750 (pasada a VM)
Respuesta1
Ayer me pasó algo similar con mi nueva configuración: Proxmox VE 7 en un Intel 11500 con 32 GB de RAM y 2x SSD Crucial BX500 (estos son de consumo) configurado como espejo ZFS.
Hice una prueba comparativa dd
escribiendo 1 GB de ceros en el SSD y estaba funcionando a 5 MB/s (sé que dd
no es bueno para la evaluación comparativa, pero aun así...). Durante el punto de referencia, iostat
estuvo al 100% de utilización. En mi caso solucioné el problema de rendimiento recortando los SSD. Puedes forzarlo usando zpool trim rpool
y puedes habilitar el recorte automático con zpool set autotrim=on rpool
. Después de recortar los discos, ejecuté el punto de referencia nuevamente y funcionó en 7 segundos (153 MB/s).
Durante el proceso para encontrar cómo mejorar el rendimiento, lo configuro xattr
como sa
se recomienda en elWiki Proxmoxy ajusté zfs_arc_min
/ zfs_arc_max
y otros parámetros del kernel.
Espero que esto funcione para ti también.
Respuesta2
Debe crear un grupo zfs en SSD con ashift=12 para alinearse con los 4096 sectores de SSD.
Verificar valor actual
zpool get all pool_name | grep ashift
Verifique también la alineación de la partición a 1 MB (2048 sectores de 512 bytes)
Respuesta3
zfs es fs de copia en escritura. Es muy, muy malo para los SSD baratos. Puedes probar este SSD con una máquina Windows directamente borrándolo de forma segura y haciendo una prueba de escritura completa (creo que HD Tune puede hacerlo) y verás qué rendimiento tienen estos SSD cuando se quedan sin SLC/RAM... ser muy pobre... como 50-70 mb/s en lugar de 500+ para sata. Además, algunos SSD baratos usan la memoria RAM del sistema en lugar del propio módulo RAM o caché slc, y esto es malo para zfs. Espero que esta ayuda haya tenido un problema similar que se resolvió cambiando los SSD a 980 pro (pero el tamaño más pequeño debido al costo)