Usando Gatling Load Testing para fazer teste de performance

Gustavo Leivas
SocialBase
Published in
4 min readJul 26, 2018

O que é Gatling Load Testing

Gatling Load Testing é uma ferramenta para testes de performance baseada em Scala-Akka-Netty que pode ser facilmente utilizada gerando belos relatórios.

Para fazer o download do Gatling basta acessar o link https://gatling.io/download/

Fazendo o Script

Há algumas maneiras de se fazer o script para rodar no Gatling, todas elas bem documentadas no site da ferramenta. O script que faremos como exemplo utiliza o Recorder do Gatling através de um arquivo HAR, no nosso caso é da página “globo.com”.

  1. Abra o recorder;
  2. Selecione o modo “HAR Converter”;
  3. Selecione o arquivo HAR que deseja gerar o script;
  4. Selecione o nome da classe;
  5. No Recorder há ainda algumas outras opções para se explorar, no nosso caso não queremos que o script contenha recursos estáticos então clicando na opção “No static resources” já adiciona à blacklist tudo que não desejamos.

Após clicar em Start nossa simulação estará pronta e o arquivo em Scala foi gerado e pronto para ser simulado.

Relatórios gerados

Agora com o script pronto, podemos fazer nosso relatório. Basta rodar o Gatling, selecionar o número da sua simulação, id que você quer que seja salvo e alguma descrição, se desejar. Então a simulação se inicia.

No final, gera um relatório HTML para visualizar as informações mais detalhadamente.

Os relatórios apresentam muitas informações a serem exploradas, como nas imagens a seguir:

A página principal apresenta um gráfico que mostra número de requisições feitas no script com relação ao tempo. Por padrão o Gatling considera que o tempo abaixo de 800ms é bom, entre 800 e 1200 é preocupante e acima de 1200 é ruim, mas isso pode ser alterado no arquivo config de acordo com nossas necessidades.

Também é possível ver o número de execuções realizadas para uma requisição específica com informações de quantas delas foram bem sucedidas, quantas falharam, o número de requisições por segundo, tempo mínimo, tempo máximo, alguns percentis, média e desvio padrão.

Ao clicar em uma requisição, temos informações detalhadas sobre ela que são basicamente as mesmas informações que estavam na página principal mas com um gráfico específico para ela e separando as informações das requisições que falharam e das que foram bem sucedidas.

Voltando a tela principal, na parte inferior temos o gráfico do número de usuários que foram utilizados na simulação durante o decorrer do tempo.

A porcentagem de requisições que foram bem sucedidas e que falharam com relação ao tempo de requisição.

Os percentis das requisições bem sucedidas pelo decorrer da simulação.

Número de requisições pelo decorrer da simulação.

Número de respostas pelo decorrer da simulação.

Injetando Usuários

Agora podemos começar a melhorar nosso Script, abrindo o arquivo em Scala gerado pelo Recorder e alterando o que for necessário.

É possível excluir requisições que consideremos desnecessárias, editar o nome das requisições para melhorar a identificação dela nos relatórios e fazer testes com o número de usuários diferentes.

Por padrão o arquivo gerado pelo Recorder vem com um usuário, que pode ser encontrado no setUp no final do arquivo, mas há algumas opções para colocar usuários na simulação, são elas:

Com base nesse descritivo, agora já conseguimos fazer qualquer teste de performance de acordo com nossa necessidade.

--

--