Testes de desempenho

Testes de desempenho para
sistemas de alta carga e distribuídos

Reproduza a degradação de desempenho sob carga controlada. A carga de trabalho exata, o ambiente e os dados de execução ficam associados ao resultado.

O que obtém

Um resultado de desempenho só é útil se o puder voltar a obter quando quiser.

•

Cenários de carga repetíveis

A mesma carga de trabalho, definida uma vez e repetida sempre que for preciso

•

Execução distribuída

Cenários que abrangem vários hosts, nós ou dispositivos ao mesmo tempo

•

Evidências de recursos em execução

CPU, memória, eventos do sistema e registos gravados enquanto a carga foi aplicada

•

Comparação entre versões

A mesma carga de trabalho em dois builds, com os dois conjuntos de evidências lado a lado

•

Resultados centralizados

Um só lugar para as execuções, em vez de registos espalhados pelos hosts que os produziram

Porque as falhas de desempenho são difíceis de reproduzir

O desempenho é uma propriedade de toda a configuração. Por isso, muda quando qualquer parte dela muda.

O débito só cai a partir de uma certa carga

Abaixo desse ponto tudo parece bem, e o gráfico não dá nenhum aviso

A latência muda com a configuração ou a topologia

O mesmo binário, outra disposição dos nós, outra resposta

Um host ou dispositivo comporta-se de forma diferente de outro

A média deixa de servir, e o valor atípico passa a ser o que vale a pena ler

O uso de recursos cresce em execuções longas

Nada falha em dez minutos, mas algo falha ao fim de dez horas

Uma nova versão comporta-se de forma diferente no mesmo cenário

Isso só se vê se a execução anterior ainda estiver disponível para comparar

Cenários de desempenho que o Midair pode coordenar

Os geradores de carga continuam a ser os que o projeto já usa. O Midair conduz o cenário e guarda o ambiente em que ele correu.

Testes de carga

O comportamento sob a carga contínua que o sistema deve suportar.

Testes de stress

O comportamento perto do limite esperado e para lá dele, onde o modo de falha é o resultado.

Testes de longa duração

A degradação ao longo do tempo, em que o dado interessante é a inclinação da curva e não o pico.

Testes de desempenho distribuídos

Cenários com vários hosts, nós ou dispositivos, coordenados como uma única execução.

Midair

Testes de desempenho no Midair

Aqui, o trabalho assenta na execução e na observação. A análise de código só entra quando a causa parece estar no código.

Executar

TS Factory

Coordena o cenário em máquinas e dispositivos e regista o ambiente em que correu.

Observar

Delta

Recolhe, por host, os dados de recursos, os registos e os eventos do sistema durante a execução.

Comparar

Midair

Põe lado a lado a mesma carga de trabalho em duas versões ou em duas configurações.

Quando a degradação parece vir da lógica do software e não do ambiente, pode usar o Visao para analisar os caminhos de código envolvidos.

Compare a mesma carga de trabalho antes e depois de uma alteração

Uma regressão de desempenho é uma diferença entre duas execuções. Isso só funciona se as duas execuções forem de facto comparáveis.

Execução A

Versão A

carga X, configuração Y

Evidências de execução registadas por host

Execução B

Versão B

a mesma carga X, a mesma configuração Y

Evidências de execução registadas por host

Só a versão mudou. Por isso, a diferença nos dados de recursos vem da versão.

Onde se aplica este fluxo de trabalho

Sistemas de backend de alta carga

Serviços distribuídos

Infraestrutura de rede

Ambientes com vários hosts

Sistemas cujo desempenho depende da configuração ou da topologia

Perguntas frequentes

O que são testes de desempenho?

Os testes de desempenho avaliam como um sistema se comporta com diferentes níveis de carga. Medem o débito e a latência, e mostram como o uso de recursos muda à medida que a carga cresce.

Qual é a diferença entre testes de carga e testes de stress?

Os testes de carga verificam como o sistema funciona com o tráfego que deve suportar. Os testes de stress levam-no para lá desse ponto. Mostram onde o sistema falha e como se comporta enquanto falha.

O que acrescenta o Midair aos testes de desempenho?

Guarda a configuração do teste e as evidências de execução. Assim, o mesmo cenário pode ser repetido e comparado entre versões, em vez de ser descrito de memória.

Iniciar o seu piloto

Traga uma carga de trabalho para o Midair e corra-a na configuração que lhe interessa. Os dados de recursos ficam guardados com o resultado.