Herramientas:

Herramientas:

Sé que Linux está diseñado para procesos multiusuario/concurrentes, pero a nivel corporativo, muchos de ellos se usan para aplicaciones únicas (pero grandes) para respaldar un servicio interno, de los cuales solo atienden a muy pocos clientes.

En tal caso de uso, ¿cómo deberíamos ajustar el sistema o el kernel (específicamente Red Hat Linux, Fedora, CentOS) para optimizarlo para el escenario? Para minimizar la latencia, reduciendo el cambio de contexto, con muy pocas E/S del disco local.

La duración de la sesión puede ser persistente (ya que el número de clientes es solo unos pocos), el intercambio de tamaño de datos es pequeño, pero muy frecuente, como de 1k a 2k de mensajes por segundo, el tamaño de 40 a 100 bytes.

Respuesta1

El ajuste del rendimiento es tanto un arte negro como una ciencia. Se han escrito libros completos al respecto, incluidos bastantes como parte deldocumentación del proveedor

Comienzas con un buen monitoreo, agregas carga, obtienes una línea de base y solo entonces comienzas a ajustar y observar si tu ajuste tuvo o no el resultado deseado.
Enjuague y repita hasta obtener el resultado óptimo.

No menciona su versión principal de RHEL o CentOS, pero todas incluyen también ajuste automático, por ejemplo con el tuneddemonio. Los perfiles de rendimiento predefinidos se pueden seleccionar tuned-adm list y luego activar con tune-adm profile <profile-name>.

Para su caso de uso, el perfil RHEL 7latency-performanceSuena como el que podría beneficiarle:

latency-performanceUn perfil de servidor centrado en reducir la latencia. Este perfil se recomienda para cargas de trabajo sensibles a la latencia que se benefician del ajuste del estado C y de la mayor eficiencia TLB de páginas enormes transparentes. Este perfil favorece el rendimiento sobre el ahorro de energía configurando intel_pstatey max_perf_pct=100. Permite páginas enormes transparentes, se utiliza cpupowerpara configurar el regulador de rendimiento cpufreq y solicita un cpu_dma_latencyvalor de 1.

Para un ajuste más general de LinuxBrandan Greggha creado una serie de diagramas visuales de qué herramienta usar y en qué parte de su sistema que son hojas de trucos realmente agradables:

Herramientas:

Observabilidad del desempeño

Qué opciones usar sarpara monitorear:

Opciones <código>sar</código>

Y muy relacionado:

Herramientas de evaluación comparativa de Linux

Traduzca las observaciones en sintonía con:

herramientas de afinación

información relacionada