Augmenter progressivement la charge sur un nouveau service avec un démarrage lent au niveau du serveur virtuel

Vous pouvez configurer l’appliance Citrix ADC pour augmenter progressivement la charge sur un service (le nombre de demandes que le service reçoit par seconde) immédiatement après l’ajout du service à une configuration d’équilibrage de charge ou le changement d’état de DOWN à UP (ci-après, le terme « nouveau service » est utilisé pour dans les deux cas). Vous pouvez augmenter la charge manuellement avec les valeurs de charge et les intervalles de votre choix (démarrage lent manuel) ou configurer l’appliance pour augmenter la charge à un intervalle spécifié (démarrage lent automatisé) jusqu’à ce que le service reçoive autant de demandes que les autres services de la configuration. Pendant la période de mise en service du nouveau service, l’appliance utilise la méthode d’équilibrage de charge configurée.

Cette fonctionnalité n’est pas disponible dans le monde entier. Il doit être configuré pour chaque serveur virtuel. La fonctionnalité est disponible uniquement pour les serveurs virtuels qui utilisent l’une des méthodes d’équilibrage de charge suivantes :

  • Robin à la ronde
  • Connexion minimale
  • Temps de réponse le plus faible
  • Bande passante minimale
  • Moins de paquets
  • LRTM (méthode du temps de réponse le moins important)
  • Chargement personnalisé

Pour cette fonctionnalité, vous devez définir les paramètres suivants :

  • Le nouveau taux de demande de service, qui correspond au montant auquel il faut augmenter le nombre ou le pourcentage de demandes envoyées à un nouveau service chaque fois que le tarif est incrémenté. Autrement dit, vous spécifiez la taille de l’incrément en termes de nombre de requêtes par seconde ou de pourcentage de charge supportée, à ce moment, par les services existants. Si cette valeur est définie sur 0 (zéro), le démarrage lent n’est pas effectué sur les nouveaux services.

    Remarque : En mode de démarrage lent automatisé, l’incrément final est inférieur à la valeur spécifiée si la valeur spécifiée place une charge plus lourde sur le nouveau service que sur les autres services.

  • Intervalle d’incrément, en secondes. Si cette valeur est définie sur 0 (zéro), la charge n’est pas incrémentée automatiquement. Vous devez l’incrémenter manuellement.

Avec un démarrage lent automatisé, un service est retiré de la phase de démarrage lent lorsque l’une des conditions suivantes s’applique :

  • Le tarif réel des demandes est inférieur au nouveau tarif des demandes de service.
  • Le service ne reçoit pas de trafic pendant trois intervalles successifs.
  • Le taux de demande a été incrémenté 200 fois.
  • Le pourcentage de trafic que le nouveau service doit recevoir est supérieur ou égal à 100.

Avec le démarrage lent manuel, le service reste dans la phase de démarrage lent jusqu’à ce que vous le sortiez de cette phase.

Démarrage lent manuel

Si vous souhaitez augmenter manuellement la charge sur un nouveau service, ne spécifiez pas d’intervalle d’incrémentation pour le serveur virtuel d’équilibrage de charge. Spécifiez uniquement le nouveau taux de demande de service et les unités. Si aucun intervalle n’est spécifié, l’appliance n’incrémente pas la charge périodiquement. Il maintient la charge sur le nouveau service à la valeur spécifiée par la combinaison du nouveau taux de demande de service et des unités jusqu’à ce que vous modifiiez manuellement l’un ou l’autre des paramètres. Par exemple, si vous définissez respectivement le taux de demande de service et les paramètres d’unité sur 25 et « par seconde », l’appliance maintient la charge sur le nouveau service à 25 requêtes par seconde jusqu’à ce que vous modifiiez l’un ou l’autre des paramètres. Lorsque vous souhaitez que le nouveau service quitte le mode de démarrage lent et reçoive autant de demandes que les services existants, définissez le nouveau paramètre de débit de demande de service sur 0.

Par exemple, supposons que vous utilisez un serveur virtuel pour équilibrer la charge de 2 services, Service1 et Service2, en mode rond. Supposons en outre que le serveur virtuel reçoit 240 requêtes par seconde et qu’il répartit la charge uniformément entre les services. Lorsqu’un nouveau service, Service3, est ajouté à la configuration, vous pouvez augmenter la charge manuellement via des valeurs de 10, 20 et 40 requêtes par seconde avant de lui envoyer sa part complète de la charge. Le tableau suivant présente les valeurs auxquelles vous définissez les trois paramètres.

Tableau 1. Valeurs des paramètres

Paramètre Valeur
Intervalle en secondes 0
Nouveau tarif de demande de service 10, 20, 40 et 0, à intervalles que vous choisissez
Unités pour le nouveau taux de demande de service Demandes par seconde

Lorsque vous définissez le nouveau paramètre de taux de demande de service sur 0, Service3 n’est plus considéré comme un nouveau service et reçoit sa part entière de la charge.

Supposons que vous ajoutez un autre service, Service4, pendant la période de transition pour Service3. Dans cet exemple, Service4 est ajouté lorsque le nouveau paramètre de taux de demande de service est défini sur 40. Par conséquent, Service4 commence à recevoir 40 demandes par seconde.

Le tableau suivant présente la répartition de la charge sur les services pendant la période décrite dans cet exemple.

Tableau 2. Distribution de charge sur les services lors de l’intensification manuelle de la charge

  nouveau taux de demande de service = 10 req/sec (Service3added) nouveau taux de demande de service = 20 requis/sec nouveau taux de demande de service = 40 req/sec (Service4added) nouveau taux de demande de service = 0 req/sec (les nouveaux services quittent le mode de démarrage lent)
Service1 115 110 80 60
Service2 115 110 80 60
Service3 10 20 40 60
Service4 - - 40 60
Nombre total de demandes/s (charge sur le serveur virtuel) 240 240 240 240

Démarrage lent automatisé

Si vous souhaitez que l’appliance augmente automatiquement la charge sur un nouveau service à intervalles spécifiés jusqu’à ce que le service puisse être considéré comme capable de gérer sa part entière de la charge, définissez le nouveau paramètre de débit de demande de service, le paramètre unités et l’intervalle d’incrémentation. Lorsque tous les paramètres sont définis sur des valeurs autres que 0, l’appliance incrémente la charge sur un nouveau service en fonction de la valeur du nouveau taux de demande de service, à l’intervalle spécifié, jusqu’à ce que le service reçoive sa part entière de la charge.

Par exemple, supposons que quatre services, Service1, Service2, Service3 et Service4, sont liés à un serveur virtuel d’équilibrage de charge, vserver1. Supposons en outre que vserver1 reçoit 100 requêtes par seconde et qu’il répartit la charge uniformément entre les services (25 requêtes par seconde par service). Lorsque vous ajoutez un cinquième service, Service5, à la configuration, vous pouvez souhaiter que l’appliance envoie le nouveau service 4 demandes par seconde pendant les 10 premières secondes, 8 demandes par seconde pendant les 10 secondes suivantes, etc., jusqu’à ce qu’elle reçoive 20 demandes par seconde. Pour cette exigence, le tableau suivant indique les valeurs auxquelles vous définissez les trois paramètres :

Tableau 3. Valeurs des paramètres

Paramètre Valeur
Intervalle en secondes 10
Valeur d’incrémentation 4
Unités pour le nouveau taux de demande de service Demandes par seconde

Avec cette configuration, le nouveau service commence à recevoir autant de demandes que les services existants 50 secondes après son ajout ou son état est passé de DOWN à UP. Au cours de chaque intervalle de cette période, l’appliance distribue aux serveurs existants l’excédent de demandes qui auraient été envoyées au nouveau service en l’absence d’incréments pas à pas. Par exemple, en l’absence d’incréments progressifs, chaque service, y compris le Service5, aurait reçu 20 demandes chacune par seconde. Avec des incréments pas à pas, pendant les 10 premières secondes, lorsque Service5 ne reçoit que 4 demandes par seconde, l’appliance distribue l’excédent de 16 demandes par seconde aux services existants, ce qui donne lieu au schéma de distribution indiqué dans le tableau et la figure suivants sur la période de 50 secondes. Après la période de 50 secondes, Service5 n’est plus considéré comme un nouveau service et reçoit sa part normale du trafic.

Tableau 4. Modèle de répartition de charge sur tous les services pour la période de 50 secondes Immédiatement après l’ajout du Service5

  0 seconde 10 secondes 20 seconde 30 secondes 40 seconde 50 seconde
Req/sec forService1 25 24 23 22 21 20
Req/sec forService2 25 24 23 22 21 20
Req/sec forService3 25 24 23 22 21 20
Req/sec forService4 25 24 23 22 21 20
Req/sec forService5 0 4 8 12 16 20
Nombre total de demandes/s (charge sur le serveur virtuel) 100 100 100 100 100 100

Figure 1. Graphique du modèle de répartition de charge sur tous les services pour la période de 50 secondes immédiatement après l’ajout du service5

diagramme de distribution-charge

Une autre exigence pourrait consister à ce que l’appliance envoie le Service5 25 % de la charge sur les services existants dans les 5 premières secondes, 50 % dans les 5 secondes suivantes, etc., jusqu’à ce qu’elle reçoive 20 demandes par seconde. Pour cette exigence, le tableau suivant indique les valeurs auxquelles vous définissez les trois paramètres.

Tableau 5. Valeurs des paramètres

Paramètre Valeur
Intervalle en secondes 5
Valeur d’incrémentation 25
Unités pour le nouveau taux de demande de service Pourcentage

Avec cette configuration, le service commence à recevoir autant de demandes que les services existants 20 secondes après son ajout ou son état est passé de DOWN à UP. La répartition du trafic au cours de la période de rampe pour le nouveau service est identique à celle décrite précédemment, où l’unité pour les incréments d’échelon était « demandes par seconde ».

Définir les paramètres de démarrage lent

Vous définissez les paramètres de démarrage lent à l’aide de la commande set lb vserver ou add lb vserver. La commande suivante permet de définir des paramètres de démarrage lent lors de l’ajout d’un serveur virtuel.

Pour configurer des incréments de charge pas à pas pour un nouveau service à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour configurer les incréments pas à pas dans la charge d’un service et vérifiez la configuration :

add lb vserver <name> <serviceType> <IPAddress> <port> [-newServiceRequest <positive_integer>] [<newServiceRequestUnit>] [-newServiceRequestIncrementInterval <positive_integer>]

show lb vserver <name>

Exemple

set lb vserver BR_LB -newServiceRequest 5 PER_SECOND -newServiceRequestIncrementInterval 10
Done

show lb vserver BR_LB
BR_LB (192.0.2.33:80) - HTTP Type: ADDRESS
State: UP
...
...
New Service Startup Request Rate: 5 PER_SECOND, Increment Interval: 10
...
...
Done

Pour configurer des incréments de charge pas à pas pour un nouveau service à l’aide de l’utilitaire de configuration

  1. Accédez à Gestion du trafic > Équilibrage de charge > Serveurs virtuels et ouvrez un serveur virtuel.
  2. Dans Paramètres avancés, sélectionnez Méthode et définissez les paramètres de démarrage lent suivants :
    • Nouveau taux de demande de démarrage du service.
    • Nouvelle unité de demande de service.
    • Intervalle d’incrémentation.

Augmenter progressivement la charge sur un nouveau service avec un démarrage lent au niveau du serveur virtuel