A story about Gena, Cheburashka and performance testing of a reactive application running on a Raspberry Pi

(The project and characters are fictional, any coincidences are accidental)





- Cheburashka, we need to start delivering our new system for monitoring and managing orange plantations in three months, but there is no data on what maximum load our system can support! And we are not sure of the stability of our system for a long time ...





- Gennady, let me remind you that we do not have a simple web service that can be loaded with requests using JMeter and get an indicator per second. We have a  reactive real-time data flow and decision-making system powered by a Raspberry Pi, which should solve the problems of monitoring, managing and increasing the efficiency of an orange plantation with minimal power consumption. Let me remind you of the architecture of our application:





(Cheburashka quickly drew the following diagram for Gena on the board)





Orange Plantation Management System Architecture
Orange Plantation Management System Architecture

- Are you laughing at me, Cheburashka ?! I don’t understand anything in English!





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





- , ! ... !





- . , :





  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 ?





- . . . :





Performance test system architecture

, UI (, ), .





...





- , ! ?





- , ! , CI/CD Pipeline .





, :





  1. 5 1250 (: " ").





  2. 128 1 .





  3. , . .





- Nice to hear, Cheburashka! We will plan the delivery. I hope you are not going on vacation after the work done. After all, you were already there not long ago, the year before last. And now we will urgently need to design the next version of the system that will be able to control the work of the pickers ...





- Let's discuss. But that is another story...








All Articles