¿Te ha gustado el artículo?
0
¿Te ha gustado el artículo?
0

Mejora el rendimiento de tu servidor con el balanceo de carga

El uso masivo de Internet para todo tipo de transacciones, desde una cotidiana búsqueda de información a la compra semanal, produce una carga creciente de los servidores web responsables de la disponibilidad de tiendas electrónicas, portales informativos y páginas corporativas. Paralelamente, también crecen las expectativas de los usuarios, que esperan, especialmente en el área de servicios, un funcionamiento rápido y seguro de las aplicaciones web. Es así como la disponibilidad de una página repercute en la transformación de un usuario interesado en un cliente.

Un servidor sobrecargado puede ser perjudicial para cualquier proyecto web, pues puede frenar e incluso paralizar algunas áreas de cualquier negocio. Sin embargo, es posible prevenir este tipo de situaciones. La primera opción incluye una inversión, generalmente alta, en servidores de mayor rendimiento y la segunda una distribución eficiente del flujo de datos. Así, entre varios servidores web es posible controlar picos de tráfico en épocas de gran demanda y disminuir el riesgo de fallos de un servidor. Este procedimiento es lo que se conoce como Load Balancing o Balanceo de carga. Este funciona gracias a un llamado “balanceador de carga” que distribuye las solicitudes de los clientes (navegadores web) entre los diferentes servidores para garantizar una velocidad estable de respuesta.

¿Qué es el balanceo de carga?

Normalmente a cada dominio se le adjudica un servidor. Cuando un usuario accede a una página web introduciendo una URL en la interfaz de búsqueda de un navegador, se solicitan los datos correspondientes a su servidor. Si este servidor cae, en caso de sobrecarga, el usuario recibe una notificación de error: Servicio no disponible. En un caso como este, el balanceo de carga puede poner remedio mediante un balanceador de carga, adjudicando varios servidores a un dominio sin conflictos de dirección.

El balanceador de carga se nombra según el dominio público y los servidores secundarios con las adiciones www1, www2, www3, etc. De esta manera se logra que una web esté disponible siempre bajo la misma URL, aunque detrás se encuentren varios servidores. Este reparto de solicitudes entre diferentes computadoras, que se realiza sin que el usuario lo perciba por medio de complejos algoritmos, alivia a los servidores.

La elección del algoritmo adecuado es un factor decisivo para determinar la manera en que se reparten las solicitudes entrantes. Los más usados son: Round Robin, Weighted Round Robin, Least Connections y Weighted Least Connections.

Algoritmo Descripción
Round Robin Las solicitudes entrantes son distribuidas una a una entre los servidores en línea, de manera que se reparten de forma equitativa. Todos los procesos se tratan con la misma importancia, independientemente de la urgencia de la solicitud o de la carga que ocasione en el servidor. Un balanceador de carga que funcione según este algoritmo es ideal para entornos donde todos los servidores del cluster cuentan con los mismos recursos. Si este es el caso, Round Robin funciona como un método de reparto fácil y efectivo, pero si se produce un declive de la capacidad, puede ocurrir que el siguiente proceso sea asignado a un servidor de menor rendimiento, que aún no ha cerrado el proceso anterior. Esto lleva a una sobrecarga del correspondiente servidor.
Weighted Round Robin Las debilidades del clásico algoritmo Round Robin en clusters heterogéneos de servidores se pueden equilibrar por medio de una distribución Round Robin ponderada, donde las peticiones se entregan dependiendo del peso estático de cada servidor –establecido por el administrador. Por ejemplo, al servidor con más rendimiento se le puede asignar el valor 100, mientras que a uno más débil el de 50. En una instalación así, el servidor catalogado con el valor de 100 recibiría dos peticiones en una ronda, mientras que el de 50 solo una solicitud. Este sistema de reparto se recomienda cuando los recursos de los servidores no son homogéneos.
Least Connections Al repartir las peticiones, estos dos algoritmos no consideran cuántas conexiones debe mantener un servidor por un tiempo determinado. Esto podría llevar a la sobrecarga de uno de ellos si se acumularan varias conexiones activas, aún cuando este servidor mantiene menos conexiones que otro servidor. Así, por medio de este algoritmo las peticiones se distribuyen en función de las conexiones ya existentes en el correspondiente servidor: el que tiene menos conexiones activas recibe la siguiente petición por parte del balanceador de carga. Este sistema de balanceo de carga se recomienda para cluster homogéneos donde todos los servidores cuentan con recursos equiparables. De otra manera podría haber retrasos en las respuestas a las solicitudes.
Weighted Least Connections Aquí se tiene en cuenta tanto la cantidad de conexiones activas de un servidor como su capacidad. El balanceador de carga asegura el reparto equitativo de la carga en el cluster. El balanceador asigna la siguente petición al servidor con una previsible carga menor.

Las ventajas de equilibrar la carga de un servidor

La distribución del tráfico en diversos servidores reduce los tiempos de respuesta, ya que el tráfico de un servidor lento es transferido automáticamente a otro más rápido –incluso con muchas peticiones a la vez–, aumentando así la seguridad contra fallos y caídas. Esto garantiza que una página siga funcionando aunque el servidor deje de estar disponible.

Además, facilita el mantenimiento del sistema de servidores. Las actualizaciones y configuraciones del servidor pueden tener lugar durante su funcionamiento sin que se produzca una remarcable pérdida de rendimiento. El balanceador de carga reconoce el estado de mantenimiento y desvía las peticiones como corresponda. Todo esto hace del balanceo de carga una solución muy flexible de hosting.

El balanceo de carga en tu empresa

El balanceo de carga se puede implementar como solución hardware o software. Muchos proveedores ponen a disposición de las empresas paquetes profesionales All-in-one en la forma de infrastructura como servicio (IaaS) alojada externamente o, como componente adicional. Dado que la adquisición de un balanceador de carga de pago implica costes elevados, las pequeñas empresas recurren cada vez más a soluciones de código abierto como la del servidor Linux −Linux Virtual Server, una opción muy rentable para garantizar la disponibilidad de una página corporativa o de un proyecto web.

Linux Nube