O documento descreve o K6, uma ferramenta de código aberto para testes de carga e desempenho. O K6 permite escrever scripts de teste em JavaScript, definir cenários de teste complexos e monitorar métricas em tempo real para identificar problemas de desempenho. Ele suporta protocolos como HTTP, WebSocket e gRPC e pode ser integrado ao Grafana para visualização de dados.
2. Tópicos
O que é o K6?
Protocolos Suportados
Principais Recursos
Conceitos Principais
Exemplos
3. O que é o K6?
K6 é uma ferramenta de código aberto para testes
de carga e desempenho.
É uma ferramenta escrita em Go, o que a torna
rápida e eficiente.
É amplamente utilizada para testar APIs e sites em
larga escala, ajudando a identificar gargalos e
problemas de desempenho.
4. Protocolos
Suportados - HTTP
Cada requisição é tratada de
forma individual
É composto por uma requisição
e uma resposta
É o protocolo que normalmente
é utilizado em aplicações WEB
5. Protocolos
Suportados -
WebSocket
Comunicação bidirecional em
tempo real
Comumente utilizado em
aplicações como: chat, jogos
online e notificações em tempo
real
Menor consumo de recursosem
comparação com HTTP
6. Protocolos
Suportados - gRPC
É baseado no protocolo HTTP/2
Tem maior performance em
relação ao HTTP devido ao
Protocol Buffer
Comunicação bidirecional
Código cliente e código
servidor facilitam
desenvolvimento
7. Principais recursos do K6
Scripts de teste em JavaScript: O K6 permite escrever scripts de teste em
JavaScript, tornando fácil e acessível a criação de cenários de teste
complexos.
Cenários de teste: O K6 permite definir cenários de teste com várias etapas,
simulando diferentes fluxos de usuários em seu site ou API.
Monitoramento em tempo real: O K6 oferece monitoramento em tempo real
durante a execução dos testes, permitindo acompanhar o desempenho e
identificar problemas em tempo real.
Métricas detalhadas: O K6 fornece uma ampla gama de métricas detalhadas,
incluindo tempo de resposta, taxa de erro, latência, utilização de recursos do
sistema e muito mais.
Integração com Grafana: O K6 pode ser integrado com o Grafana, uma
popular plataforma de monitoramento e visualização de dados, para criar
painéis de monitoramento personalizados e visualizar os resultados dos
testes de carga de forma gráfica.
8. Conceitos
Principais
O que é um teste?
O que são usuários virtuais (VUs)?
Tipos de testes
Métricas
Checks e Thresholds
9. O que é um teste?
Um teste pode ser tão simples quanto:
10. Usuários Virtuais (VUs)
Uma entidade que executa um teste
Simular uma sessão de utilizador real
Eles podem trabalhar de forma concorrente, e continuarem repetindo o
teste até que uma condição seja cumprida
Simular cenários específicos como horário de pico e/ou dias com tráfego
anormal
Cálculo para saber quantos usuários virtuais são necessários: VUs =
(qtd_visitas * media_duracao_visita) / 3600