Retour à la leçonMission
Mission : le dashboard qui redevient lent sous charge malgré asyncio.gather
Diagnostiquer un goulot d'étranglement sur le pool de connexions DB et une réutilisation manquante du client HTTP, au-delà du simple gain apporté par asyncio.gather.
Contexte
GET /dashboard a déjà été corrigé avec asyncio.gather comme vu dans cette leçon, et répond en 300ms avec quelques utilisateurs. Lors d'un test de charge à 50 utilisateurs simultanés, les temps de réponse remontent à plus de 2 secondes. Le monitoring montre que le temps est désormais passé à attendre une connexion disponible dans le pool SQLAlchemy, configuré avec pool_size=5 et max_overflow=0.