Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 6 hours 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 (12 months ago)
- Default Branch: main
- Last Pushed: 2024-12-16T14:03:25.000Z (about 2 months ago)
- Last Synced: 2025-02-06T20:45:50.395Z (1 day ago)
- Topics: golang, proof-of-work, stress-testing
- Language: Go
- Homepage:
- Size: 25.4 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
```