Thanks, that was a great tip!
It was really easy to get started with using ghz. This is how I used it to test a standard gRPC health endpoint:
$ ghz -proto proto/health.proto -insecure -c 1 -t 0 -d '{"service": ""}' -call "grpc.health.v1.Health.Check" localhost:9090
Summary:
Count: 200
Total: 265.02 ms
Slowest: 12.49 ms
Fastest: 0.76 ms
Average: 1.20 ms
Requests/sec: 754.65
Response time histogram:
0.757 [1] |
1.930 [195] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
3.103 [2] |
4.276 [1] |
5.449 [0] |
6.622 [0] |
7.796 [0] |
8.969 [0] |
10.142 [0] |
11.315 [0] |
12.488 [1] |
Latency distribution:
10% in 0.89 ms
25% in 0.95 ms
50% in 1.06 ms
75% in 1.22 ms
90% in 1.67 ms
95% in 1.80 ms
99% in 3.19 ms
Status code distribution:
[OK] 200 responses
Will be exploring the tool a bit more, but that definitely seems like the best fit for my purpose.