Méthode de chargement personnalisée

L’équilibrage de charge personnalisé est effectué sur les paramètres du serveur tels que l’utilisation du processeur, la mémoire et le temps de réponse. Lors de l’utilisation de la méthode de chargement personnalisée, l’appliance Citrix ADC sélectionne généralement un service qui ne gère aucune transaction active. Si tous les services de la configuration d’équilibrage de charge gèrent des transactions actives, l’appliance sélectionne le service ayant la charge la plus faible. Un type spécial de moniteur, connu sous le nom de moniteur de charge, calcule la charge sur chaque service du réseau. Les moniteurs de charge ne marquent pas l’état d’un service, mais ils retirent les services de la décision d’équilibrage de charge lorsque ces services ne sont pas UP.

Pour plus d’informations sur les moniteurs de charge, reportez-vous à la section Présentation des moniteurs de charge. Le diagramme suivant illustre le fonctionnement d’un moniteur de charge.

Figure 1. Fonctionnement des moniteurs de charge

Personnaliser_Travail

Le moniteur de charge utilise des sondes SNMP (Simple Network Management Protocol) pour calculer la charge sur chaque service en envoyant une requête SNMP GET au service. Cette demande contient un ou plusieurs ID d’objet (OID). Le service répond avec une réponse SNMP GET, avec des mesures correspondant aux OID SNMP. Le moniteur de charge utilise les mesures de réponse décrites ci-dessous pour calculer la charge sur le service.

Le moniteur de charge calcule la charge sur un service en utilisant les paramètres suivants :

  • Valeurs de mesures récupérées via les sondes SNMP qui existent sous forme de tables dans l’appliance Citrix ADC.
  • Valeur de seuil définie pour chaque mesure.
  • Poids attribué à chaque métrique.

Par exemple, considérez trois services, Service-HTTP-1, Service-HTTP-2 et Service-HTTP-3.

  • Service-HTTP-1 utilise 20 mégaoctets (Mo) de mémoire.
  • Service-HTTP-2 utilise 70 Mo de mémoire.
  • Service-HTTP-3 utilise 80 Mo de mémoire.

Les serveurs équilibrés de charge peuvent exporter des mesures telles que l’utilisation du processeur et de la mémoire vers les services, qui peuvent à leur tour les fournir au moniteur de charge. Le moniteur de charge envoie aux services une requête GET SNMP contenant les OID 1.3.6.1.4.1.5951.4.1.1.41.1.5, 1.3.6.1.4.1.5951.4.1.1.41.1.4 et 1.3.6.1.4.1.5951.4.1.1.41.1.3. Les OID SNMP de type STRING ne sont pas pris en charge, car vous ne pouvez pas calculer la charge à l’aide d’un OID STRING. Les charges peuvent être calculées à l’aide d’autres types de données, tels que INT et gauge32. Les trois services répondent à la demande. L’appliance Citrix ADC compare les mesures exportées, puis sélectionne Service-HTTP-1 car il dispose de plus de mémoire disponible. Le diagramme suivant illustre ce processus.

Figure 2. Fonctionnement de la méthode de chargement personnalisée

custom_working2

Si chaque requête utilise 10 Mo de mémoire, l’appliance Citrix ADC fournit les demandes comme suit :

  • Service-HTTP-1 reçoit les première, deuxième, troisième, quatrième et cinquième requêtes, car ce service a la valeur N la plus faible.
  • Service-HTTP-1 et Service-HTTP-2 ont maintenant la même charge, de sorte que le serveur virtuel revient à la méthode round robin pour ces serveurs. Par conséquent, Service-HTTP-2 reçoit la sixième requête, et Service-HTTP-1 reçoit la septième requête.
  • Puisque Service-HTTP-1, Service-HTTP-2 et Service-HTTP-3 ont maintenant la même charge, le serveur virtuel revient à la méthode round robin pour Service-HTTP-3 également. Par conséquent, Service-HTTP-3 reçoit la huitième requête.

Le tableau suivant résume le mode de calcul de N.

Demande reçue Service sélectionné Valeur N actuelle (nombre de transactions actives) Remarques
Request-1 Service-HTTP-1 ; (N = 20) N = 30 Service-HTTP-3 a la valeur N la plus faible.
Request-2 Service-HTTP-1 ; (N = 30) N = 40 -
Request-3 Service-HTTP-1 ; (N = 40) N = 50 -
Request-4 Service-HTTP-1 ; (N = 50) N = 60 -
Request-5 Service-HTTP-1 ; (N = 60) N = 70 -
Request-6 Service-HTTP-1 ; (N = 70) N = 80 Service-HTTP-2 et Service-HTTP-3 ont les mêmes valeurs N.
Request-7 Service-HTTP-2 ; (N = 70) N = 80 Service-HTTP-3 ont les mêmes valeurs N.
Request-8 Service-HTTP-1 ; (N = 80) N = 90 Service-HTTP-1, Service-HTTP-2 et Service-HTTP-3 ont les mêmes valeurs N.

Si des pondérations différentes sont attribuées aux services, l’algorithme de chargement personnalisé tient compte à la fois de la charge sur chaque service et de la pondération attribuée à chaque service. Il sélectionne un service en utilisant la valeur (Nw) dans l’expression suivante :

Nw = (N) * (10000/pondération)

Comme dans l’exemple précédent, supposons que Service-HTTP-1 se voit attribuer un poids de 4, Service-HTTP-2 se voit attribuer un poids de 3 et Service-HTTP-3 un poids de 2. Si chaque requête utilise 10 Mo de mémoire, l’appliance Citrix ADC fournit les demandes comme suit :

  • Service-HTTP-1 reçoit les première, deuxième, troisième, quatrième, cinquième, sixième, septième et huitième requêtes, car ce service a la valeur Nw la plus faible.
  • Service-HTTP-2 reçoit la neuvième requête, car ce service a la valeur Nw la plus faible.

Service-HTTP-3 a la valeur Nw la plus élevée et n’est donc pas pris en compte pour l’équilibrage de charge.

Le tableau suivant résume la façon dont Nw est calculé.

|Demande reçue|Service sélectionné|Valeur Nw actuelle (nombre de transactions actives) * (10000/pondération)|Remarques |-|-|-|-| |Request-1|Service-HTTP-1 ; (Nw = 50000)|Nw = 75000|Service-HTTP-1 a la valeur Nw la plus faible. |Request-2|Service-HTTP-1 ; (Nw = 5000)|Nw = 100000|-| |Request-3|Service-HTTP-1; (Nw = 15000)|Nw = 125000|-| |Request-4|Service-HTTP-1 ; (Nw = 20000)|Nw = 150000|-| |Request-5|Service-HTTP-1 ; (Nw = 23333,34)|Nw = 175000|-| |Request-6|Service-HTTP-1 ; (Nw = 25000)|Nw = 200000|-| |Request-7|Service-HTTP-1 ; (Nw = 23333,34)|Nw = 225000|-| |request-8|service-http-1 ; (Nw = 25000) |Nw = 250000||-| |request-9|service-http-2 ; (Nw = 233333.34) |Nw = 266666.67|Le service-HTTP-2 a la valeur Nw la plus faible.

Service-HTTP-1 est sélectionné pour l’équilibrage de charge lorsqu’il termine ses transactions actives ou lorsque la valeur Nw des autres services (Service-HTTP-2 et Service-HTTP-3) est égale à 400 000.

Le diagramme suivant illustre la façon dont l’appliance Citrix ADC utilise la méthode de chargement personnalisée lorsque des poids sont affectés.

Figure 3. Fonctionnement de la méthode de chargement personnalisée lorsque des poids sont affectés

poids de charge sur mesure

Pour configurer la méthode de chargement personnalisée, reportez-vous à la section Configuration d’une méthode d’équilibrage de charge qui n’inclut pas de stratégie.

Méthode de chargement personnalisée