https://github.com/mathcale/goexpert-stresstest-cli-challenge
Simple API stress testing CLI application for the Go Expert specialization course
https://github.com/mathcale/goexpert-stresstest-cli-challenge
golang proof-of-work stress-testing
Last synced: 12 months ago
JSON representation
Simple API stress testing CLI application for the Go Expert specialization course
- Host: GitHub
- URL: https://github.com/mathcale/goexpert-stresstest-cli-challenge
- Owner: mathcale
- Created: 2024-02-16T01:53:20.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-22T21:10:33.000Z (12 months ago)
- Last Synced: 2025-04-01T22:01:04.703Z (12 months ago)
- Topics: golang, proof-of-work, stress-testing
- Language: Go
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go Expert Challenge - Stress Test CLI
Implementação de um CLI em Go para realizar testes de stress em um endereço web.
## Arquitetura
As requisições são realizadas de forma concorrente de acordo com a quantidade informada e são distribuídas em um pool de workers. Cada worker é responsável por realizar uma requisição HTTP e armazenar o resultado em um canal de comunicação. O resultado é então processado e exibido ao final da execução.
## Como executar
### Via Docker
O projeto está disponível no Docker Hub, e para executar o container basta utilizar o comando abaixo, substituindo os valores de `--url`, `--requests` e `--concurrency` pelos valores desejados.
```sh
docker run mathcale/goexpert-stresstest-cli-challenge:latest \
--url https://google.com.br \
--requests 100 \
--concurrency 10
```
### Localmente
Para executar o projeto localmente, é necessário ter o Go instalado na máquina. Após a instalação, basta executar o comando abaixo, substituindo os valores de `--url`, `--requests` e `--concurrency` pelos valores desejados.
```sh
go run cmd/cli/main.go \
--url https://google.com.br \
--requests 100 \
--concurrency 10
```
## Testes
Para executar os testes de unidade, basta executar o comando abaixo.
```sh
make test
```