Supongamos que tengo un servidor web que sirve páginas html con una carga elevada. Supongamos que, por alguna razón, el cuello de botella no es la CPU, ni la RAM ni el disco, sino la red misma. ¿Cómo puedo saber que un servidor Linux simplemente envía o recibe demasiado tráfico y no mantiene el ritmo? ¿Cómo sé si el ancho de banda de la red es, digamos, superior al 60% de su capacidad? Si está por encima de la capacidad, ¿cómo lo escale?
Respuesta1
En general, analice todo el sistema para determinar dónde están los límites. Por ejemplo, elMetodología de usocomprueba cada recurso en busca de utilización, saturación y errores.
Todos los entornos pueden recopilar métricas de rendimiento básicas y fáciles de medir, como la utilización de la CPU y la utilización del ancho de banda de la interfaz. En Linux, herramientas comodatos de redo perf puede mostrar muchas métricas con gran detalle.
Una comprensión profunda de su entorno ayuda a encontrar dónde está el cuello de botella. El ancho de banda máximo de 95 Mbit/s puede deberse a un antiguo conmutador de 100 Mbit en el camino, o al servicio de Internet es de 100 Mbit/s. O el sistema de almacenamiento es bastante lento. O las NIC informan sobre desbordamientos porque los buffers de paquetes no se vacían lo suficientemente rápido.
Siempre que pueda, intente ampliar los servidores web a más hosts en hardware diferente. Los recursos totales de más de una máquina virtual pueden ayudar. Puede probar cosas en un host a la vez con un control. Y como beneficio adicional, el equilibrio de carga podría considerarse una característica de alta disponibilidad.