Uma história sobre Gena, Cheburashka e testes de desempenho de um aplicativo reativo em execução em um Raspberry Pi

(O projeto e os personagens são fictícios, quaisquer coincidências são acidentais)





- Cheburashka, precisamos começar a entregar nosso novo sistema de monitoramento e gerenciamento de plantações de laranja em três meses, mas não há dados sobre a carga máxima que nosso sistema pode suportar! E não temos certeza da estabilidade do nosso sistema por muito tempo ...





- Gennady, deixe-me lembrar que não temos um serviço web simples que possa ser carregado com solicitações usando JMeter e obter um indicador por segundo. Temos um  fluxo de dados reativo em tempo real e um sistema de tomada de decisão alimentado por um Raspberry Pi, que deve resolver os problemas de monitoramento, gerenciamento e aumento da eficiência de uma plantação de laranja com consumo mínimo de energia. Deixe-me lembrá-lo da arquitetura de nosso aplicativo:





(Cheburashka desenhou rapidamente o seguinte diagrama para Gena no quadro)





Arquitetura do sistema de gerenciamento de plantação de laranja
Arquitetura do sistema de gerenciamento de plantação de laranja

- Você está rindo de mim, Cheburashka ?! Eu não entendo nada em 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 ?





- . . . :





Arquitetura do sistema de teste de desempenho

, UI (, ), .





...





- , ! ?





- , ! , CI/CD Pipeline .





, :





  1. 5 1250 (: " ").





  2. 128 1 .





  3. , . .





- Bom saber, Cheburashka! Vamos planejar a entrega. Espero que não saia de férias depois do trabalho feito. Afinal, você já estava lá há pouco tempo, anteontem. E agora precisaremos projetar com urgência a próxima versão do sistema que poderá controlar o trabalho dos catadores ...





- Vamos discutir. Mas essa é outra história ...








All Articles