Load balancer : pour un meilleur temps d’accès au serveur
Le load balancing permet de répartir uniformément les accès au serveur entre plusieurs serveurs à l’aide d’un répartiteur de charge (load balancer) placé en amont. Ainsi, des temps d’accès stables sont garantis, ce qui est essentiel pour générer des prospects et des clients.
- Virtualisation complète avec accès root
- Trafic illimité et jusqu'à 1 Gbit/s de bande passante
- Stockage SSD NVMe rapide et édition Plesk Web Host
Qu’est-ce que le load balancing ?
Le load balancing, ou répartition des charges, est particulièrement populaire dans le domaine de la technologie des serveurs et décrit un processus dans lequel les requêtes sont réparties en arrière-plan entre différents serveurs, sans que les utilisateurs s’en aperçoivent. Le load balancer (répartiteur de charges) utilisé à cette fin peut être mis en œuvre sous forme matérielle ou logicielle. Il permet d’associer plusieurs serveurs à un même domaine, sans qu’il y ait de conflit d’adresses et est accessible sous le domaine public.
Normalement, chaque domaine est attribué à un seul serveur Web. Si celui-ci tombe en panne en raison d’une surcharge, l’utilisateur reçoit un code de statut HTTP : le site Web ne peut alors pas être affiché.
Les serveurs Web secondaires sont souvent identifiés par des sous-domaines tels que www1
, www2
, www3
, etc. Le load balancing permet de rendre un site Internet disponible sous la même URL, même si plusieurs serveurs se cachent derrière. Ceci allège la charge d’un serveur puisque la demande venant de l’extérieur est distribuée sur plusieurs ordinateurs au sein d’un cluster.
Le load balancing peut également jouer un rôle en dehors des serveurs Web, par exemple sur les ordinateurs à processeurs multiples. Dans ce cas, le load balancer assure une répartition uniforme des besoins entre les différents processeurs afin de générer plus de puissance de calcul. De plus, les load balancers sont populaires pour l’utilisation de logiciels de conteneurisation comme Kubernetes. Ils veillent ici à ce que les charges de travail soient réparties de manière judicieuse entre différents pods.
Comment fonctionne le load balancing ?
Les requêtes à un serveur Web, par exemple sous la forme de chargement d’une page, s’exécutent d’abord sur le load balancer. Celui-ci prend alors en charge la répartition de la charge en transférant les accès aux différents serveurs. Le load balancer peut être matériel ou logiciel, mais le principe reste le même : une requête lui parvient et, selon la méthode utilisée, l’appareil ou le logiciel transmet les données au serveur approprié.
La base technique est le processus DNS : les utilisateurs accèdent à un site Web uniquement via une URL. Le site est alors converti à l’aide du DNS en une adresse IP, qui renvoie à son tour vers le load balancer.

Les avantages d’un load balancing équilibré
Les principaux avantages d’une bonne répartition des charges sont les suivants :
- Des temps d’accès optimisés : la répartition du trafic sur plusieurs serveurs permet de réduire les temps d’accès, même lors de nombreuses requêtes simultanées.
- Une plus grande fiabilité : un load balancer garantit une meilleure protection contre les pannes, puisque le trafic provenant d’un serveur trop lent est automatiquement transféré vers d’autres serveurs du cluster. Même si un serveur n’est pas accessible, le site Web hébergé reste disponible.
- Une maintenance simplifiée du système : les configurations et les mises à jour peuvent être effectuées pendant le fonctionnement des serveurs, sans perte de performance notable. Le load balancer détecte l’état de maintenance et redirige les requêtes en conséquence.
- Certificat SSL et protection DDoS
- Sauvegarde et restauration des données
- Assistance 24/7 et conseiller personnel
Les différentes méthodes de load balancing
La façon dont les demandes entrantes sont réparties dépend du choix de l’algorithme. Les algorithmes populaires pour le load balancing sont : Round Robin, Weighted Round Robin, Least Connections et Weighted Least Connections.
Round Robin
Round Robin désigne un procédé cyclique dans lequel les demandes de serveurs entrants sont gérées par le load balancer dans une sorte de file d’attente et distribuées aux serveurs connectés en série. Chaque nouvelle requête est attribuée au serveur suivant dans la file d’attente afin de répartir les accès de manière uniforme sur le cluster de load balancing. Dans le processus Round Robin, tous les processus sont traités de manière égale, indépendamment de l’urgence de la requête ou de la charge du serveur qui la génère. Un load balancer fonctionnant selon ce principe est donc particulièrement adapté aux environnements dans lesquels toutes les instances disposent à peu près des mêmes ressources.
Weighted Round Robin
Les faiblesses de l’algorithme classique du Round Robin dans les clusters de serveurs hétérogènes peuvent être compensées par une répartition Round Robin pondérée. Les requêtes entrantes sont réparties en tenant compte de la pondération statique des différents serveurs. Cette pondération est définie au préalable par l’administrateur.
Le serveur le plus performant peut ainsi se voir attribuer la valeur « 100 », tandis que les serveurs moins efficaces reçoivent la valeur « 50 ». Dans une telle configuration, le serveur pondéré « 100 » recevrait deux requêtes du load balancer à chaque tour, tandis que le serveur pondéré « 50 » ne recevrait qu’une seule requête. Le Weighted Round Robin doit être utilisé principalement pour l’équilibrage de charges lorsque les serveurs connectés au cluster disposent de ressources différentes.
Least Connections
Lors de la répartition des requêtes serveur, les algorithmes Round Robin mentionnés précédemment ne tiennent pas compte du nombre de connexions déjà actives sur chaque serveur. Il peut donc arriver qu’un serveur soit surchargé, même s’il a été moins sollicité au départ. L’algorithme Least Connections corrige ce problème en attribuant chaque nouvelle requête au serveur qui a actuellement le moins de connexions actives. Cette méthode est particulièrement adaptée aux clusters homogènes, dans lesquels les serveurs disposent de ressources similaires.
Weighted Least Connections
Si un cluster de serveurs présente des capacités différentes, il convient d’utiliser, à la place de l’algorithme Least Connections, une méthode de load balancing à répartition pondérée en fonction des connexions existantes. Cela permet de prendre en compte à la fois le nombre de connexions actives d’un serveur et la pondération définie par l’administrateur. Ainsi, une répartition équilibrée de la charge au sein du cluster de serveurs est garantie. Les nouvelles requêtes sont automatiquement attribuées par le load balancer aux serveurs dont le rapport entre les connexions actives et la pondération respective du serveur indique la charge actuelle la plus faible.
Quels problèmes peuvent survenir lors de l’utilisation du load balancing ?
L’E-commerce est particulièrement confronté à des problèmes de load balancing, par exemple quand les visiteurs d’un site Web remplissent leur panier avec les articles qu’ils souhaitent acheter. Ces articles restent enregistrés pendant la durée d’une session, quelle que soit la page consultée par les utilisateurs sur la boutique en ligne. Un load balancer normal répartirait les requêtes entre différents serveurs, mais cela aurait pour conséquence la perte du panier.
Deux approches sont envisageables pour résoudre ce problème. En premier lieu, le load balancer peut réagir à l’adresse IP de l’utilisateur. Le distributeur achemine alors toujours les requêtes provenant de la même adresse IP vers le même serveur. Une autre méthode consiste à lire un identifiant de session dans la requête elle-même afin de déterminer vers quel serveur elle doit être redirigée.
Pourquoi les load balancers sont-ils si importants ?
Si vous gagnez de l’argent sur Internet, votre entreprise ne peut pas se permettre une panne de serveur. Et si vous n’utilisez qu’un seul serveur et qu’il tombe en panne en raison d’une surcharge, votre site Web n’est plus accessible aux clients potentiels. Cela entraîne plusieurs problèmes : d’une part, vous ne pouvez générer aucun chiffre d’affaires pendant la surcharge. En effet, les services ne peuvent pas être réservés et les achats ne peuvent pas être effectués. D’autre part, la confiance de vos clients potentiels diminue également. Les utilisateurs qui rencontrent une surcharge du serveur lors du processus de commande sont doublement pénalisés. Souvent, il subsiste une grande incertitude et les personnes concernées ne savent pas si la commande est réellement arrivée dans le système et si elle a été enregistrée.
Mais même si vous ne proposez pas de services en ligne, votre site Web doit être accessible à tout moment. Il s’agit en effet de l’un des principaux canaux d’information à propos de votre entreprise : si des clients cherchent des renseignements mais ne parviennent pas à accéder à votre site, ils se tourneront vers des concurrents. Un load balancer vous permet de minimiser ces risques.
Mettre en place le load balancing dans votre entreprise
Le load balancing peut être mis en place sur un serveur virtuel à l’aide de solutions matérielles ou logicielles. De nombreux fournisseurs proposent des packs complets professionnels sous forme d’Infrastructure-as-a-Service (IaaS) ou de composants réseau pour votre infrastructure informatique.
L’acquisition de load balancers propriétaires étant généralement coûteuse, les petites entreprises ont souvent recours à des solutions open source telles que NGINX. Il s’agit d’une solution économique permettant d’assurer la haute disponibilité du site Web de votre entreprise grâce à une répartition efficace de la charge au sein du réseau de serveurs. Dans le domaine de l’hébergement Web, le load balancing peut également être proposé comme fonctionnalité supplémentaire pour les serveurs Cloud.