2 puntos por computerphilosopher 5 시간 전 | Aún no hay comentarios. | Compartir por WhatsApp
  • Los parámetros predeterminados de ZFS están configurados como un punto medio entre acceso secuencial y acceso aleatorio
    • Si se conocen con claridad las características de la carga de trabajo, es posible aplicar ajustes más agresivos
  • Explicación de la diferencia entre acceso secuencial y acceso aleatorio
    • En los HDD, por el movimiento del cabezal, el rendimiento del acceso aleatorio puede ser decenas o incluso cientos de veces más lento que el acceso secuencial
    • En los SSD, aunque el acceso aleatorio ha mejorado mucho, el acceso secuencial sigue siendo más eficiente
    • Las cargas de trabajo que leen archivos grandes en orden tienen una fuerte tendencia al acceso secuencial
    • Las cargas de trabajo que leen con frecuencia muchos archivos pequeños tienden fuertemente al acceso aleatorio
  • Introducción a métodos para analizar la carga de trabajo
    • Inferencia lógica basada en el código o la estructura
    • Cálculo del tamaño promedio de IO con base en el rendimiento (bps) + cantidad de IO por segundo (iops)
    • Análisis de la distribución del tamaño de IO con zpool iostat -r
  • Interpretación de zpool iostat -r
    • ind: tamaño de cada solicitud lógica individual
    • agg: tamaño del IO real que se ejecutó tras la fusión
    • Si agg es mayor que ind, significa que la fusión de IO adyacentes está ocurriendo correctamente
  • Resultados del análisis de la carga de trabajo de ejemplo
    • Proporción de lecturas síncronas de aproximadamente 76%
    • Más de 99% de las lecturas son de 32KiB o menos
    • Las escrituras asíncronas también muestran una alta proporción de IO pequeños
    • En general, es una carga de trabajo con una tendencia muy marcada al acceso aleatorio
  • zfs_prefetch_disable
    • ZFS carga por adelantado bloques adyacentes en ARC cuando detecta un patrón de acceso secuencial
    • En cargas de trabajo de acceso aleatorio, la tasa de aciertos de la lectura anticipada puede ser baja y solo aumentar IO innecesarios
    • Es posible medir la eficiencia de la lectura anticipada con base en arc_summary
    • Si la tasa de aciertos es baja, se puede considerar zfs_prefetch_disable
  • recordsize
    • El valor predeterminado es 128K
    • En la carga de trabajo de ejemplo, como la mayoría de los IO son de 32KiB o menos, se puede considerar un recordsize más pequeño
  • Selección del valor óptimo
    • Es importante decidirlo con base en benchmarks
    • Para bases de datos como MySQL/Postgres, ya existen muchos casos de ajuste validados
    • En general, suele usarse un recordsize similar al tamaño de página de la base de datos

Aún no hay comentarios.

Aún no hay comentarios.