Skip to content

AndreAbrantes/grpc_bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI

One repo to finally have a clear, objective gRPC benchmark with code for everyone to verify and improve.

Contributions are most welcome!

Prerequisites

Linux or MacOS with Docker. Keep in mind that the results on MacOS may not be that reliable, Docker for Mac runs on a VM.

Running benchmark

To build the test images, run: ./build.sh . You need them to run the benchmarks.

To run all the benchmarks, run: ./bench.sh . They will be run sequentially.

To run a single benchmark, run: ./run_single_bench.sh <BENCHMARK_NAME> .

To clean-up the test images, run: ./clean.sh .

Configuring the benchmark

Test duration is governed by environmental variable GRPC_BENCHMARK_DURATION. Defaults to 30s.

The maximum number of cpus used by server is governed by the environmental variable GRPC_SERVER_CPUS. Defaults to 1.

Which tests to run is governed by a regex in GRPC_BENCHMARK_SELECT, for example rust or (kotlin|java). Defaults to all tests.

Results

You can find our sample results in the Wiki. Be sure to run the benchmarks yourself if you have sufficient hardware, especially for multi-core scenarios.

About

Various gRPC benchmarks

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 17.3%
  • Dockerfile 16.9%
  • C++ 10.7%
  • Java 10.4%
  • Scala 7.0%
  • Rust 5.9%
  • Other 31.8%