Estoy usando FastApi alojado en una instancia EC2 AWS.
Especificaciones de la instancia EC2 (g4dn.xlarge): 16 GB de memoria, 4 CPU, GPU: NVIDIA T4
Estoy ejecutando una prueba de estrés a la aplicación. Si envío 10 solicitudes POST simultáneas a la aplicación, solo 5 se procesan simultáneamente (exactamente al mismo tiempo), mientras que las demás se procesan una por una en diferentes momentos (después de unos segundos).
La configuracion es la siguiente
gunicorn main:app --workers 9 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:80 Establecí los workers en 9 dada esta fórmula The suggested maximum concurrent requests when using workers and threads is (2*CPU)+1.
Dada la configuración anterior, espero que se manejen las 10 solicitudes al mismo tiempo.
Con 9 trabajadores, también recibo un error de CUDA sin memoria, aunque limpio el caché.
Con 3 trabajadores no me encuentro con el problema de CUDA, pero las solicitudes manejadas al mismo tiempo son solo 3, no más que eso. Los restantes se procesan más tarde, después de unos segundos, uno por uno.