Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

gRPC Benchmark

Benchmark tools for testing gRPC performance.

Usage

This project provides Mix tasks for running benchmarks:

Starting a Worker Server

mix benchmark.worker --port=10000

Options:

  • --port - Port to listen on (required)

The worker will run until you send it a quit signal.

Running Benchmark Tests

# Use defaults (port 10000, 1000 requests)
mix benchmark.test

# Custom port
mix benchmark.test --port=9999

# Custom number of requests
mix benchmark.test --requests=5000

# Both options
mix benchmark.test --port=9999 --requests=5000

Options:

  • --port - Server port (default: 10000)
  • --requests - Number of requests to send (default: 1000)

Legacy Scripts

The original bin/ scripts are still available for backward compatibility:

# Start worker
elixir bin/worker.exs --port=10000

# Run test
elixir bin/test.exs

Project Structure

This project follows standard Elixir/OTP conventions:

benchmarkg/
├── lib/
│   ├── benchmark/           # Core benchmark modules
│   │   ├── application.ex   # OTP Application supervisor
│   │   ├── client_manager.ex
│   │   ├── server_manager.ex
│   │   └── ...
│   └── mix/tasks/           # Mix tasks
│       ├── benchmark.worker.ex
│       └── benchmark.test.ex
├── bin/                     # Legacy scripts (preserved)
├── proto/                   # Protocol buffer definitions
└── mix.exs

See REFACTORING.md for details on the migration from scripts to Mix tasks.