Test de charge de votre configuration de mise à l'échelle automatique - Amazon SageMaker

Test de charge de votre configuration de mise à l'échelle automatique

Effectuez les tests de charge pour choisir une configuration de dimensionnement automatique qui fonctionne comme vous le voulez.

Pour obtenir un exemple de test de charge afin d'optimiser la scalabilité automatique pour un point de terminaison Amazon SageMaker, veuillez consulter Load test and optimize an Amazon SageMaker endpoint using automatic scaling.

Les consignes suivantes pour le test de charge supposent que vous utilisez une stratégie de dimensionnement automatique qui utilise la métrique cible prédéfinie SageMakerVariantInvocationsPerInstance.

Détermination des caractéristiques de performance

Effectuez un test de charge pour trouver le pic des InvocationsPerInstance que la variante de production de votre modèle peut gérer, et la latence des demandes lorsque la simultanéité augmente.

Cette valeur dépend du type d'instance choisi, des charges utiles que les clients de votre modèle envoient généralement et des performances de toutes les dépendances externes de votre modèle.

Pour trouver le pic des demandes par seconde (RPS) que la variante de votre modèle peut traiter et la latence des demandes

  1. Configurez un point de terminaison avec votre modèle à l'aide d'une seule instance. Pour plus d'informations sur la configuration d'un point de terminaison, consultez Déployer le modèle sur les services d'hébergement SageMaker.

  2. Utilisez un outil de test de charge pour générer un nombre croissant de requêtes parallèles, et surveiller les demandes par seconde et le modèle de latence dans la sortie de l'outil de test de charge.

    Note

    Vous pouvez également surveiller les demandes envoyées par minute à la place des demandes RPS. Dans ce cas, ne multipliez pas par 60 dans l'équation pour calculer SageMakerVariantInvocationsPerInstance comme ci-dessous.

    Lorsque la latence du modèle augmente ou que la proportion de transactions réussies diminue, il s'agit du pic des demandes par seconde que votre modèle peut traiter.

Calcul de la charge cible

Une fois que vous avez trouvé les caractéristiques de performance de la variante, vous pouvez déterminer le RPS maximal autorisé à être envoyé à une instance. Le seuil utilisé pour le dimensionnement doit être inférieur à la valeur maximale. Utilisez l'équation suivante en combinaison avec un test de charge pour déterminer la valeur appropriée pour la métrique cible SageMakerVariantInvocationsPerInstance de votre configuration de dimensionnement automatique.

SageMakerVariantInvocationsPerInstance = (MAX_RPS * SAFETY_FACTOR) * 60

MAX_RPS est le RPS maximal que vous avez déterminé précédemment et SAFETY_FACTOR le facteur de sécurité que vous avez choisi pour vous assurer que vos clients ne dépassent pas le RPS maximal. Multipliez par 60 pour convertir le RPS en appels par minute afin de correspondre à la métrique CloudWatch par minute qu'utilise SageMaker pour mettre en œuvre la scalabilité automatique (cette opération est inutile si vous avez mesuré les demandes par minute au lieu des demandes par seconde).

Note

SageMaker vous recommande de commencer le test avec un SAFETY_FACTOR de 0,5. Testez votre configuration de scalabilité automatique pour vous assurer qu'elle fonctionne de la façon escomptée avec votre modèle pour augmenter et diminuer le trafic client sur votre point de terminaison.