Une histoire sur Gena, Cheburashka et les tests de performances d'une application réactive fonctionnant sur un Raspberry Pi

(Le projet et les personnages sont fictifs, toutes les coïncidences sont accidentelles)





- Cheburashka, nous devons commencer à livrer notre nouveau système de surveillance et de gestion des plantations d'orangers dans trois mois, mais il n'y a pas de données sur la charge maximale que notre système peut supporter! Et nous ne sommes pas sûrs de la stabilité de notre système depuis longtemps ...





- Gennady, permettez-moi de vous rappeler que nous n'avons pas de service web simple qui puisse être chargé de requêtes en utilisant JMeter et obtenir un indicateur par seconde. Nous disposons d'un  système de flux de données et de prise de décision réactif en temps réel alimenté par un Raspberry Pi, qui devrait résoudre les problèmes de surveillance, de gestion et d'augmentation de l'efficacité d'une plantation d'orangers avec une consommation d'énergie minimale. Permettez-moi de vous rappeler l'architecture de notre application:





(Cheburashka a rapidement dessiné le diagramme suivant pour Gena au tableau)





Architecture du système de gestion des plantations d'Orange
Architecture du système de gestion des plantations d'Orange

- Vous moquez-vous de moi, Cheburashka?! Je ne comprends rien en anglais!





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





- , ! ... !





- . , :





  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 ?





- . . . :





Architecture du système de test de performance

, UI (, ), .





...





- , ! ?





- , ! , CI/CD Pipeline .





, :





  1. 5 1250 (: " ").





  2. 128 1 .





  3. , . .





- Ravi d'entendre, Cheburashka! Nous planifierons la livraison. J'espère que vous ne partez pas en vacances après le travail effectué. Après tout, vous y étiez déjà il n'y a pas longtemps, l'année d'avant. Et maintenant, nous devrons d'urgence concevoir la prochaine version du système qui pourra contrôler le travail des cueilleurs ...





- Discutons. Mais c'est une autre histoire...








All Articles