Cómo saber cuántos usuarios puede ejecutar mi API en una instancia EC2

La respuesta más correcta sería ejecutar una prueba de carga.

Dependiendo de cómo se implemente / diseñe su aplicación, puede haber cuellos de botella en otros lugares. ¿Utiliza una base de datos o alguna otra dependencia? ¿Hay una sola API o hay varias que se ejecutan en los mismos hosts? ¿Cuál es el patrón de llamadas de las API?

Una prueba de carga con una representación esperada de lo que está sucediendo durante los escenarios de uso típicos, ya sea con datos reales o una aproximación cercana a esos datos, le dará una idea de cuáles son los cuellos de botella, y le dará un límite de lo que es El anfitrión puede manejar.

Con los datos que obtiene de una prueba de carga, puede escalar adecuadamente y también identificar y quizás corregir otros cuellos de botella en el diseño de su aplicación.

Para python, probablemente pueda usar un marco de prueba de carga como el que se muestra aquí: un marco de prueba de carga moderno

Nota: Esta es la primera vez que respondo una pregunta de Quora, así que accidentalmente envié esto como un comentario en lugar de una respuesta.

Todas las respuestas aquí son correctas, pero quiero agregar que la respuesta depende de su API.

Pongamos un ejemplo.

Estoy usando su API con descanso, y lanzo

http://yourdamin.com/yourapi/get … ( http://yourdamin.com/yourapi/get …)

Mi solicitud va a su servidor web / API y busca el objeto 1232. Y devuelve los datos.

Ahora:

¿Cuánto tiempo le llevó a su API consultar la base de datos? ¿Cuánto tiempo tomó desde la solicitud hasta la respuesta? ¿Cuánta memoria usó la solicitud en este proceso?

Con esta información, puede presumir y puede extrapolar algunos números.

¿Pero qué hay de otras llamadas?

¿Qué sucede si estoy borrando datos? Actualizando?

Procesando pedidos?

Entonces la respuesta correcta debería ser:

1. Haga una prueba de esfuerzo de su API con una combinación de consultas (lectura, escritura, actualización, búsqueda).

Eso te dará un número más realista.

Una característica clave del escalado automático en EC2 es que no tiene que adivinar cuántos usuarios puede admitir. Puede comenzar con poco y configurar su grupo de instancias EC2 para aumentar y disminuir en respuesta a la demanda.

AWS | Auto Scaling

Encuentre un servicio para poner a prueba su estrés. O escriba un programa para enviarle miles de solicitudes a la vez en una dirección IP que usted incluye en la lista blanca.