Una historia sobre Gena, Cheburashka y las pruebas de rendimiento de una aplicación reactiva que se ejecuta en una Raspberry Pi

(El proyecto y los personajes son ficticios, cualquier coincidencia es accidental)





- Cheburashka, necesitamos comenzar a entregar nuestro nuevo sistema para monitorear y administrar las plantaciones de naranjos en tres meses, ¡pero no hay datos sobre qué carga máxima puede soportar nuestro sistema! Y no estamos seguros de la estabilidad de nuestro sistema durante mucho tiempo ...





- Gennady, permítame recordarle que no tenemos un servicio web simple que pueda cargarse con solicitudes usando JMeter y obtener un indicador por segundo. Contamos con un sistema  reactivo de flujo de datos y toma de decisiones en tiempo real alimentado por una Raspberry Pi, que debería resolver los problemas de monitoreo, manejo y aumento de la eficiencia de una plantación de naranjos con un consumo mínimo de energía. Permítame recordarle la arquitectura de nuestra aplicación:





(Cheburashka dibujó rápidamente el siguiente diagrama para Gena en la pizarra)





Arquitectura del sistema de gestión de plantaciones de naranja
Arquitectura del sistema de gestión de plantaciones de naranja

- ¡¿Te estás riendo de mí, Cheburashka ?! ¡No entiendo nada en inglés!





- , ... ... . , , , , . ( ), ( , ). (, , ), , .





- , ! ... !





- . , :





  1. , ?





  2. ?





  3. ( , , ) ?





, :









Throughput





Load





Peak/Stress/Endurance





Goal





How much data per second can the system handle? 

( )





How the system behaves under real-life load during the time? 

( ?)





What is the limit for the system?

( ?)





Issues to find





Bottlenecks

( )





Memory leaks

( )





Concurrency issues

( )





High CPU / RAM / Disk / Network of individual component

( )





Hardware issues, for example overheating

( , )





Data corruption

( )





Hardware corruption

( )





Recovery issues

( )





- , , , !





- , , , . , . , .





- , ! , , , , .





- , . .





- , ! !





- , , . , , (CPU, Memory, Disk I/O, DIsk space usage, Network I/O) , , , .





- - ? , Gatling Tank ?





- . . . :





Arquitectura del sistema de prueba de rendimiento

, UI (, ), .





...





- , ! ?





- , ! , CI/CD Pipeline .





, :





  1. 5 1250 (: " ").





  2. 128 1 .





  3. , . .





- ¡Es bueno oírlo, Cheburashka! Planificaremos la entrega. Espero que no se vaya de vacaciones después del trabajo realizado. Después de todo, ya estabas allí no hace mucho, anteayer pasado. Y ahora necesitaremos con urgencia diseñar la próxima versión del sistema que podrá controlar el trabajo de los recolectores ...





- Vamos a discutir. Pero esa es otra historia ...








All Articles