grpc / grpc.github.io

The grpc.io website. (on GitHub pages)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add PHP Benchmarking for Client Side calls

bshaffer opened this issue · 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