Closed borissmidt closed 1 year ago
https://github.com/grpc/test-infra i found this which which could be usefull to run a benchmark against.
we might need to do some performance benchmarks because we aren't that fast according to this benchmark
-----------------------------------------------------------------------------------------------------------------------------------------
| name | req/s | avg. latency | 90 % in | 95 % in | 99 % in | avg. cpu | avg. memory |
-----------------------------------------------------------------------------------------------------------------------------------------
| scala_akka | 6249 | 109.85 ms | 198.54 ms | 290.43 ms | 496.24 ms | 33.92% | 213.4 MiB |
| scala_zio | 6150 | 131.45 ms | 199.62 ms | 280.42 ms | 399.59 ms | 85.63% | 255.14 MiB |
| scala_monix | 4103 | 212.13 ms | 392.35 ms | 489.59 ms | 801.34 ms | 81.96% | 511.72 MiB |
| scala_fs2 | 2519 | 393.67 ms | 700.51 ms | 769.91 ms | 806.52 ms | 102.66% | 223.08 MiB |
-----------------------------------------------------------------------------------------------------------------------------------------
Benchmark Execution Parameters:
a35fc13 Thu, 4 Nov 2021 21:26:59 +0100 Boris Smidt add monix-grpc benchmark
- GRPC_BENCHMARK_DURATION=300s
- GRPC_BENCHMARK_WARMUP=90s
- GRPC_SERVER_CPUS=1
- GRPC_SERVER_RAM=512m
- GRPC_CLIENT_CONNECTIONS=50
- GRPC_CLIENT_CONCURRENCY=1000
- GRPC_CLIENT_QPS=0
- GRPC_CLIENT_CPUS=1
- GRPC_REQUEST_PAYLOAD=100B
On scala times there was a performance benchmark and grpc-akka has vastly improved its performance and made it almost equal to grpc-rust.
I think it would be a good idea to use the same benchmark: https://github.com/LesnyRumcajs/grpc_bench/wiki/2021-08-30-bench-results
I assume the code will be quite performant when you are done with it @jvican :+1: Otherwise we might have a look on how they reach that performance.