K6 - Teste de Carga e Desempenho.pptx

Gdfr2 108 views 20 slides Apr 24, 2023
Slide 1
Slide 1 of 20
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20

About This Presentation

Esta apresentação apresenta a ferramenta K6.


Slide Content

K6  - Teste de Carga e Desempenho

Tópicos

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.

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

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

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

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.

Conceitos Principais

O que é um teste? Um teste pode ser tão simples quanto:

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

Tipos de testes

Smoke Testing O Smoke Testing tem o objetivo de verificar se seu sistema pode suportar uma carga mínima sem problemas.

Load Testing O Load   Testing tem o objetivo de garantir a estabilidade do sistema em termos de usuários concorrentes

Stress Testing / Spike Testing O  Stress  Testing  / Spike  Testing  tem o objetivo de garantir a estabilidade do sistema sob condições extremas

Soak Testing O  Soak   Testing  tem o objetivo de garantir a estabilidade do sistema sob períodos prolongados

Métricas

Checks Os checks são validações feitas para garantir que a requisição esteja retornando o conteúdo esperado

Thresholds Os thresholds são critérios que definem uma expectativa mínima para os testes, como tempo de resposta e quantidade de falhas

Perguntas?

Obrigado