Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Dimensionnement des instances gérées Lambda
Les instances gérées Lambda ne sont pas évolutives lorsque les appels arrivent et ne prennent pas en charge les démarrages à froid. Il évolue plutôt de manière asynchrone en utilisant des signaux de consommation de ressources. Les instances gérées évoluent actuellement en fonction de l'utilisation des ressources du processeur et de la saturation en multisimultanéité.
Principales différences :
-
Lambda (par défaut) : évolue lorsqu'il n'existe aucun environnement d'exécution libre pour gérer un appel entrant (démarrage à froid)
-
Instances gérées Lambda : évolue de manière asynchrone en fonction de l'utilisation des ressources du processeur et de la saturation multiconcurrentielle des environnements d'exécution
Si votre trafic double plus que dans les 5 minutes, vous risquez de rencontrer des difficultés à mesure que Lambda adapte les instances et les environnements d'exécution pour répondre à la demande.
Le cycle de vie du dimensionnement
Les instances gérées Lambda utilisent une architecture distribuée pour gérer le dimensionnement :
Composants :
-
Instances gérées - Exécutez-les dans votre compte dans les sous-réseaux que vous fournissez
-
Routeur et scaleur : composants Lambda partagés qui acheminent les appels et gèrent le dimensionnement
-
Agent Lambda : s'exécute sur chaque instance gérée pour gérer le cycle de vie de l'environnement d'exécution et surveiller la consommation de ressources
Comment cela fonctionne :
-
Lorsque vous publiez une version de fonction auprès d'un fournisseur de capacité, Lambda lance Managed Instances dans votre compte. Il en lance trois par défaut pour la résilience AZ et démarre trois environnements d'exécution avant de marquer la version ACTIVE de votre fonction.
-
Chaque instance gérée peut exécuter des environnements d'exécution pour plusieurs fonctions mappées vers le même fournisseur de capacité.
-
À mesure que le trafic entre dans votre application, les environnements d'exécution consomment des ressources. L'agent Lambda informe le scaler, qui décide s'il convient de dimensionner de nouveaux environnements d'exécution ou des instances gérées.
-
Si Router tente d'envoyer un appel à un environnement d'exécution consommant beaucoup de ressources, l'agent Lambda de cette instance l'invite à réessayer sur une autre instance.
-
Lorsque le trafic diminue, l'agent Lambda en informe Scaler, qui prend la décision de réduire les environnements d'exécution et de dimensionner les instances gérées.
Ajustement du comportement de dimensionnement
Vous pouvez personnaliser le comportement de dimensionnement des instances gérées à l'aide de quatre commandes :
Contrôles du niveau de fonction
1. Fonction : mémoire et v CPUs
Choisissez la taille de mémoire et l'allocation de vCPU pour votre fonction. La plus petite taille de fonction prise en charge est de 2 Go et 1 vCPU.
Considérations :
-
Choisissez un paramètre de mémoire et de vCPU qui prendra en charge les exécutions simultanées de votre fonction
-
Vous ne pouvez pas configurer une fonction avec moins d'un vCPU car les fonctions exécutées sur des instances gérées doivent prendre en charge des charges de travail simultanées multiples
-
Vous ne pouvez pas choisir moins de 2 Go car cela correspond au ratio mémoire/vCPU de 2 pour 1 des instances C, qui ont le ratio le plus faible
-
Pour les applications Python, vous devrez peut-être choisir un ratio mémoire/v plus élevéCPUs, par exemple 4 pour 1 ou 8 pour 1, en raison de la façon dont Python gère la multisimultanéité
-
Si vous exécutez des opérations gourmandes en ressources CPU ou si vous effectuez peu d'E/S, vous devez choisir plusieurs vCPU
2. Simultanéité maximum
Définissez la simultanéité maximale par environnement d'exécution.
Comportement par défaut : Lambda choisit des valeurs par défaut judicieuses qui équilibrent la consommation de ressources et le débit et conviennent à une grande variété d'applications.
Directives de réglage :
-
Augmenter la simultanéité : si vos appels de fonctions utilisent très peu de CPU, vous pouvez augmenter la simultanéité maximale jusqu'à 64 par vCPU
-
Diminuez la simultanéité : si votre application consomme une grande quantité de mémoire et très peu de processeur, vous pouvez réduire votre simultanéité maximale
Important : étant donné que les instances gérées Lambda sont destinées à des applications multiconcurrentes, les environnements d'exécution présentant une très faible simultanéité peuvent être limités lors du dimensionnement.
Contrôles au niveau du fournisseur de capacité
3. Utilisation des ressources cibles
Choisissez votre propre objectif en matière de consommation d'utilisation du processeur.
Comportement par défaut : Lambda conserve une marge de manœuvre suffisante pour que votre trafic double en 5 minutes sans limitation.
Options d'optimisation :
-
Si votre charge de travail est très stable ou si votre application n'est pas sensible aux limitations, vous pouvez définir l'objectif à un niveau élevé pour augmenter le taux d'utilisation et réduire les coûts
-
Si vous souhaitez conserver une marge de manœuvre pour faire face à des pics de trafic, vous pouvez définir des objectifs de ressources à un niveau faible, ce qui nécessitera une capacité accrue
4. Sélection du type d'instance
Définissez les types d'instances autorisés ou exclus.
Comportement par défaut : Lambda choisit les types d'instances les mieux adaptés à votre charge de travail. Nous vous recommandons de laisser les instances gérées Lambda choisir les types d'instances à votre place, car la restriction du nombre de types d'instances possibles peut entraîner une baisse de disponibilité.
Configuration personnalisée :
-
Exigences matérielles spécifiques : définissez les types d'instances autorisés dans une liste d'instances compatibles. Par exemple, si votre application nécessite une bande passante réseau élevée, vous pouvez sélectionner plusieurs types d'instances n
-
Optimisation des coûts : pour les environnements de test ou de développement, vous pouvez choisir des types d'instances plus petits, tels que les types d'instance m7a.large
Étapes suivantes
-
En savoir plus sur les fournisseurs de capacité pour les instances gérées Lambda
-
Consultez les guides spécifiques à l'exécution pour gérer la multisimultanéité
-
Configurez la connectivité VPC pour vos fournisseurs de capacité
-
Surveillez les métriques de dimensionnement pour optimiser le comportement de dimensionnement