GithubHelp home page GithubHelp logo

k6's Introduction

k6 Load Tests

Este projeto configura um ambiente local para executar testes de carga em uma API de registro de usuários, utilizando K6, InfluxDB e Grafana para monitoramento de desempenho. O setup utiliza Docker Compose para gerenciar os serviços.

Pré-requisitos

Antes de começar, certifique-se de ter os seguintes softwares instalados na sua máquina:

Ambiente Recomendado

Este projeto foi desenvolvido utilizando o sistema Fedora, mas pode ser executado em outros sistemas operacionais, como:

  • Qualquer distribuição Linux (Ubuntu, Debian, etc.)
  • macOS
  • Windows 10/11 (WSL 2 opcional)

Para garantir a compatibilidade e a melhor experiência, é recomendável utilizar um desses sistemas operacionais.

Estrutura do Projeto

├── docker-compose.yml
├── grafana
│   └── datasource.yml
├── LICENSE
├── Makefile
├── README.md
├── script.sh
└── tests
    ├── exemplo.js
    ├── exemplo_k6.js
    └── teste.js

Passos para Executar o Projeto

  1. Clonar o repositório:

    git clone https://github.com/ventu-ra/k6.git
    cd k6
  2. Iniciar os serviços:

    docker-compose up -d

    Este comando iniciará todos os serviços definidos no arquivo docker-compose.yml em modo desacoplado.

  3. Acessar os serviços:

    • API: A API de registro de usuários estará acessível em http://localhost:3333.
    • InfluxDB: Por padrão, o InfluxDB não possui uma interface web exposta. Interaja com ele via API em http://localhost:8086.
    • Grafana: Acesse o Grafana em http://localhost:3000.

Configurar o Grafana

Para configurar o Grafana - Influxdb, consulte o README.md na pasta grafana.

Executar os Testes de Carga

Para executar os testes de carga utilizando k6, utilize o seguinte comando:

docker-compose run --rm -T k6 run -<tests/exemplo_k6.js --out influxdb=http://localhost:8086/db0

Este comando irá executar os testes de carga definidos no arquivo exemplo.js dentro do container k6 e enviar os resultados para o InfluxDB.

Monitoramento e Testes

  • Dashboard do Grafana: Configure seu dashboard do Grafana para monitorar as métricas coletadas pelo InfluxDB.
  • Testes de Carga com k6: O serviço k6 está configurado para enviar os resultados dos testes de carga para o InfluxDB. Personalize e execute seus scripts k6 para realizar testes de carga na API.

Parar os Serviços

Para parar e remover todos os serviços em execução, use:

docker-compose down

Isso irá parar todos os serviços e remover os containers.

Solução de Problemas

Se você encontrar algum problema:

  • Verifique os logs do Docker para quaisquer mensagens de erro usando:

    docker-compose logs <nome_do_serviço>
  • Verifique se as portas necessárias não estão sendo usadas por outras aplicações.

Conclusão

Este setup fornece um ambiente completo para desenvolver, monitorar e testar a APIs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.