in

¿Cómo ejecutar un servidor uvicorn (usando FastAPI) y una prueba de carga (usando langosta) en paralelo?

Tengo dos archivos, ambos se ejecutan individualmente sin ningún error. solía FastAPI para crear algunos puntos finales y estoy tratando de usar locust (a través de una herramienta invokust de FutureSharks) para realizar pruebas de carga.

en mi archivo run_server.py Tengo el siguiente código

from main import app
import uvicorn

if __name__ == "__main__":
   uvicorn.run(app, host="127.0.0.1", port=8000)

en mi archivo load_test.py Tengo el siguiente código

import invokust

settings = invokust.create_settings(
        locustfile="locustfile.py",
        host="http://127.0.0.1:8000",
        num_users=1,
        spawn_rate=1,
        run_time="1m"
    )

loadtest = invokust.LocustLoadTest(settings)
loadtest.run()
loadtest.stats()
"{'requests': {'GET_/': {'request_type': 'GET', 'num_requests': 923, 'min_response_time': 113.54585000000128, 'median_response_time': 120.0, 'avg_response_time': 145.68631223510297, 'max_response_time': 331.89674199999786, 'response_times': {270.0: 2, 120.0: 479, 150.0: 17, 200.0: 83, 210.0: 80, 160.0: 20, 190.0: 55, 220.0: 9, 130.0: 30, 170.0: 22, 230.0: 5, 110.0: 69, 140.0: 19, 180.0: 27, 240.0: 2, 320.0: 3, 330.0: 1}, 'response_time_percentiles': {55: 120.0, 65: 150.0, 75: 190.0, 85: 200.0, 95: 210.0}, 'total_rps': 5.136500841568583, 'total_rpm': 308.190050494115}, 'GET_/about': {'request_type': 'GET', 'num_requests': 308, 'min_response_time': 113.23035299999873, 'median_response_time': 120.0, 'avg_response_time': 146.04534828246747, 'max_response_time': 290.40608500000076, 'response_times': {120.0: 147, 200.0: 36, 190.0: 25, 110.0: 27, 160.0: 12, 150.0: 6, 180.0: 13, 210.0: 12, 170.0: 13, 220.0: 2, 130.0: 8, 140.0: 6, 290.0: 1}, 'response_time_percentiles': {55: 120.0, 65: 160.0, 75: 180.0, 85: 200.0, 95: 200.0}, 'total_rps': 1.7140219492991589, 'total_rpm': 102.84131695794953}}, 'failures': {}, 'num_requests': 1231, 'num_requests_fail': 0, 'start_time': 1608207776.312684, 'end_time': 1608207956.070369}"

Quiero ejecutarlos en paralelo, así que cuando mi run_server.py comienza el uvicorn servidor, mi load_test.py comienza a hacer la prueba de carga.

Cómo puedo hacer esto ?

0

¿Te ayudó la respuesta?

Subscribirse
Notificar por
guest
0 Comentarios
Inline Feedbacks
Ver todas las Respuestas

¿Existe una contraparte no lineal de la multicolinealidad? [closed]

Término científico para referirse a cómo la ansiedad hace que las personas piensen anormalmente