17 commentaires
Hello ! C'est quoi ton runtime ? Java .NET ou Python/Node.js ? Les cold starts sont bien pires avec les JVM. Et tu es en VPC ?
Ah oui, VPC + Python, c'est une combo connue pour les cold starts pénibles. Le temps que l'ENI s'attache à l'instance, ça prend du temps. Tu peux activer l'option VPC Access pour un démarrage plus rapide (prends quelques secondes pour l'activation)
Pense aussi à optimiser ton package de déploiement. Moins de libs, moins de code, plus rapide le chargement. Tu as une taille de package raisonnable ?
C'est quoi la mémoire allouée à tes fonctions ? Augmenter la RAM allouée peut aussi booster le CPU de la Lambda et donc accélérer le boot, même si ça augmente le coût par ms.
Tu utilises EFS pour des dépendances partagées ou du code lourd ? Des fois EFS peut rajouter sa propre latence au démarrage, contre-productif pour les cold starts.
C'est exactement ça, si tes clients RDS ou SQS sont dans le scope global, ils s'initialisent à chaque cold start. Mets-les hors du handler mais assure-toi qu'ils sont réutilisés pour les warm invocations.
Et pense à CloudWatch Lambda Insights pour avoir des métriques plus fines sur l'étape d'initialisation de ta fonction, ça t'aidera à identifier les vrais goulots d'étranglement.
j'ai réécrit les init de clients comme suggéré et les init duration dans insights ont bien baissé. la facture devrait suivre. pour les gros pics on mettra un peu de provisioned concurrency, ça sera moins cher que de laisser les cold starts s'envoler. thx à tous !
Laisser une réponse
Vous devez être connecté pour poster un message !
Salut la tech ! On a une app serverless sur AWS Lambda et la facture monte en flèche. J'ai l'impression que les cold starts sont en grande partie responsables, surtout quand on a des pics de trafic. Genre ma lambda prend 3-5s au lieu des 200ms habituelles. Des astuces pour réduire ça sans ruiner le budget ?