Add PHP Benchmarking for Client Side calls
bshaffer opened this issue · 4 comments
We can benchmark the PHP gRPC client and document the performance improvements.
I have written a QPS Benchmark for this client, but have not had the time to automate this testing yet. The benchmark is in the repo.
Benchmark is in the repo
Can you elaborate on this? There is no PHP benchmarking in the repo AFAIK.
The PHP benchmark is a little different from the others because all the benchmarks are designed as servers (as you saw in the benchmarking guide), which we don't support for PHP. The PHP benchmark code implements the actual benchmarking client and can be used for single-channel unary or streaming ping-pong tests. The QPS worker service for PHP is actually implemented in Ruby, where it's called proxy-worker. The Ruby proxy-worker communicates with the driver to accept test setup commands and report statistics; the PHP client gets its configuration from the proxy-worker and reports statistics to the proxy-worker telemetry-style (as a client-side stream).
The benchmark is not dashboarded or automated yet. I started working on this in grpc/grpc#10126 but didn't complete the final steps since there was no great clamor for this work to be completed at the time.
Fixed by grpc/grpc#12682. PHP unary and streaming latency numbers (against a C++ server) are now reported on the multi-language dashboard at https://performance-dot-grpc-testing.appspot.com/explore?dashboard=5652536396611584