Estoy tratando de hacer una prueba de esfuerzo de mi aplicación Spring Boot, pero cuando ejecuto el siguiente comando, lo que está haciendo ab es tratar de dar un resultado que sea el máximo que mi aplicación podría contener. Pero lo que necesito es verificar si mi aplicación podría contener una solicitud específica por segundo.
ab -p req.json -T application/json -k -c 1000 -n 500000 http://myapp.com/customerTrack/v1/send La solicitud por segundo dada desde el comando anterior es 4000, pero en realidad, muchos registros están almacenados en búfer en mi aplicación, lo que significa que no puede contener tantos rps. ¿Alguien podría decirme cómo configurar una solicitud específica por segundo en herramientas ab ? ¡Gracias!
No creo que puedas conseguir lo que quieres de ab. Hay muchas otras herramientas por ahí.
Aquí hay uno simple que podría hacer exactamente lo que quieres.
Para limitar la tasa a 100 solicitudes por segundo, el siguiente comando debería funcionar.
hey -D req.json -T application/json -c 1000 -q 100 -n 500000 http://myapp.com/customerTrack/v1/send
Apache Bench es un programa de un solo subproceso que solo puede aprovechar un procesador en la máquina de su cliente. En condiciones extremas, la herramienta podría tergiversar los resultados si los parámetros de su prueba exceden las capacidades del entorno en el que se ejecuta la herramienta. Según su descripción, el rps ya alcanzó su límite de hardware.
Muchos registros están almacenados en búfer en mi aplicación, lo que significa que no puede contener tantos rps
Es muy difícil controlar la solicitud por segundo en una sola máquina. Puede encontrar herramientas de prueba de acné de mejor rendimiento desde aquí HTTP(S) Benchmark Tools
Si tiene presupuesto, puede probar goad , que es una herramienta de prueba de carga altamente distribuida y con tecnología AWS Lambda integrada en Go para la Gala Gopher 2016. Goad le permite realizar pruebas de carga de sus sitios web de todo el mundo a un costo mínimo al usar AWS Lambda en varias regiones simultáneamente.