La fonction de gestionnaire de Load Balancer calcule les pondérations de chaque serveur. Ces pondérations permettent de déterminer le nombre de connexions qu'un serveur peut recevoir par rapport aux anciens serveurs de la même configuration de cluster et de port. Il est essentiel de bien comprendre le rapport du gestionnaire pour bien comprendre la répartition du trafic sur le réseau.
Le rapport du gestionnaire contient une liste des clusters, ports et serveurs définis dans la combinaison cluster:port. Chaque serveur montre deux
pondérations et quatre colonnes qui sont utilisées pour calculer la pondération :
- Connexions actives (ACTV) ou Unité centrale (dans le cas du composant Site Selector en fonction des entrées de Metric Server)
- Nouvelles connexions (NEWC) ou Mémoire (dans le cas du composant Site Selector en fonction des entrées de Metric Server)
- Charge du port (PORT)
- Charge système (SYS)
Un pourcentage est attribué à chacune de ces quatre colonnes, ce qui permet de calculer la pondération du serveur. Le pourcentage est
défini avec la commande de définition de la proportion du cluster. Par défaut, seules les connexions actives et les nouvelles connexions sont prises en compte lors du calcul de la pondération du serveur dans le cas de Dispatcher et CBR. Ces valeurs dépendent de
données générées et stockées en interne par l'exécuteur.
Pour Site Selector, le gestionnaire extrait les deux premières valeurs (unité
centrale et mémoire) de Metric Server.
Lorsqu'un conseiller est démarré, la proportion de la charge du
port est définie sur 1 %, de manière à utiliser la charge du port dans le calcul de la pondération.
De même, si une mesure est ajoutée, la
proportion de la charge système est définie sur 1 %. La fonction du gestionnaire renvoie les valeurs suivantes pour chaque serveur :
- Connexions actives (ACTV)
- Les connexions actives sont les connexions TCP fermées au début du cycle du gestionnaire.
- Nouvelles connexions (NEWC)
- Les nouvelles connexions représentent l'augmentation du nombre de connexions total entre le début du cycle du gestionnaire et le début de son
dernier cycle.
- Charge du port (PORT)
- La charge du port est la valeur obtenue de la part d'un conseiller et qui est définie sur cette combinaison cluster:port. Si le conseiller n'est pas démarré,
la charge du port est toujours nulle. Si un conseiller est défini, la charge du port représente en général le nombre de millisecondes qui s'écoulent avant que
le conseiller ne reçoive une réponse du serveur.
Si la charge du port est -1, le conseiller n'a pas reçu de réponse satisfaisante à sa requête. Augmentez le niveau de
journalisation et la taille du fichier journal pour que le conseiller puisse connaître les raisons pour lesquelles le serveur n'a pas répondu. Si le serveur ne répond
jamais aux demandes de connexion, procédez comme suit :
- Vérifiez que vous avez envoyé la commande ping au serveur à partir du poste de Load Balancer.
- Vérifiez que l'application serveur est démarrée et écoute le port qui est défini. Le serveur doit écouter sur l'adresse générique (0.0.0.0) ou
sur l'adresse IP du cluster et l'adresse IP du serveur réel pour répondre correctement aux requêtes du conseiller.
Si le serveur répond à la connexion, il peut répondre à la requête d'une manière différente de ce que Load Balancer attend. Vérifiez la chaîne
advisorresponse définie pour vous assurer qu'elle correspond a ce que le serveur a transmis. Le scénario s'applique aux conseillers http et https.
- Charge système (SYS)
- La charge système représente la valeur qui est renvoyée de Metric Server. Si les mesures n'ont pas été ajoutées pour cette combinaison cluster:port,
la charge système est nulle (0). Si les mesures sont définies, la charge système est une valeur comprise entre -1 et 100,
ce qui représente l'état du serveur. 100 est un serveur très occupé et (0) est un serveur en veille.
Si la charge système est à -1,
Load Balancer ne peut pas communiquer avec Metric Server sur la machine dorsale. Vérifiez que les clés de Load Balancer sont correctement réparties
sur le serveur, que Load Balancer peut envoyer une commande PING au serveur et que Metric Server est démarré sur la machine.
Si l'incident persiste,
procédez comme suit :
- Editez le script de Metric Server sur la machine dorsale et augmentez le niveau de journalisation et la taille du fichier journal.
- Redémarrez Metric Server.
- Augmentez la taille du fichier de journalisation et le niveau de journalisation du contrôleur de mesures au niveau de Load Balancer.
- Examinez les fichiers journaux sur la machine Load Balancer et la machine dorsale afin de déterminer les raisons de l'échec de la communication.
- Unité centrale et Mémoire (composant Site Selector)
- Unité centrale et Mémoire représentent les valeurs renvoyées par Metric Server. Les mesures Cpuload et memload sont ajoutées automatiquement pour la configuration Site Selector. Il s'agit de valeurs comprises entre -1 et 100 qui représentent le statut du serveur. 100 est un serveur très occupé et (0) est un serveur en veille. Si ces mesures ont la valeur -1, Load Balancer ne peut pas communiquer avec Metric Server sur la machine dorsale. Vérifiez que les clés de Load Balancer sont correctement réparties
sur le serveur, que Load Balancer peut envoyer une commande PING au serveur et que Metric Server est démarré sur la machine. Si l'incident persiste,
procédez comme suit :
- Editez le script de Metric Server sur la machine dorsale et augmentez le niveau de journalisation et la taille du fichier journal.
- Redémarrez Metric Server.
- Augmentez la taille du fichier de journalisation et le niveau de journalisation du contrôleur de mesures au niveau de Load Balancer.
- Examinez les fichiers journaux sur la machine Load Balancer et la machine dorsale afin de déterminer les raisons de l'échec de la communication.
Le nombre de connexions actives et de nouvelles connexions est déterminé en fonction du nombre de connexions que l'exécuteur a
transmis au cours du dernier cycle de la dernière fonction du gestionnaire. Par défaut, un cycle du gestionnaire dure deux secondes.
Configuration des pondérations de serveur
Dans des conditions normales, Load Balancer utilise toutes les valeurs dont les proportions ne sont pas nulles afin de calculer la nouvelle
pondération.
Par exemple, si les proportions sont 40 40 20 0, les connexions actives et les nouvelles connexions représentent chacune 40 % du calcul
de pondération, la charge du port étant de 20 %.
Par exemple, soit une fonction du gestionnaire qui renvoie les valeurs suivantes :
ACTV NEWC PORT SYS
Server1 50 200 25 0
Server2 25 100 50 0
Les calculs de pondération initiaux sont :
- Server1 = .40(50) + .40(200) + .2(25) = 20 + 80 + 5 = 105
- Server2 = .40(25) + .40(100) + .2(50) = 10 + 40 + 10 = 60
Les pondérations initiales sont mises à l'échelle de manière à être proportionnelles à la limite de pondération
de cluster:port. Par défaut, la limite de pondération est de 10. Par conséquent, dans cet exemple, les pondérations finales,
qui sont arrondies au nombre entier le plus proche, sont les suivantes :
- Server1 = (105/165) * 10 = 6
- Server2 = ( 60/165) * 10 = 4
La pondération calculée est présentée comme la pondération NEW dans le rapport du gestionnaire. La pondération est uniquement
envoyée à la fonction exécuteur si elle dépasse le niveau de sensibilité configuré pour la combinaison cluster:port.
La
pondération NOW est la pondération obtenue de l'exécuteur au début de ce cycle du gestionnaire.
Si la charge du port ou la charge système est -1 et que la proportion respective de la colonne du port ou du système est supérieure à 0,
la pondération calculée est nulle (0). Nulle (0) signifie que le serveur n'est pas actif et que les nouvelles requêtes ne lui sont pas envoyées.
Si vous mettez un serveur au repos, vous constatez que la pondération est également nulle (0), mais que la charge du port est
positive si le serveur est encore en ligne. Si un serveur mis au repos passe hors ligne, la charge du port est -1.
Si un utilisateur émet une fonction d'arrêt du serveur pour empêcher Load Balancer d'envoyer des requêtes à ce serveur,
la pondération est -1 quelle que soit la valeur de la charge du port et de la charge système.