Hello gRPC Team,
I hope you are doing well.
I am currently working on evaluating gRPC Java performance as part of a sample setup, and I wanted to share an issue I’m facing that seems performance-related.
I have implemented a minimal gRPC server and client setup using Java + Maven, following the official example provided on the gRPC Java documentation site( https://grpc.io/docs/languages/java/quickstart/) The build and execution both complete successfully — however, the observed performance is much lower than expected.
When I run the server and client locally on the same machine, I notice that in one second, the client can only perform around 200–500 gRPC synchronous calls using synchronous stubs. I expected much higher throughput, given that gRPC is designed to provide significant performance benefits compared to RMI-based APIs.
As a comparison, when I tested a Java RMI-based setup under similar conditions, benchmark results it achieved 7,684 calls per second
I’ve ensured that the implementation strictly follows the example code, including .proto generation and Maven dependency configuration.
Below are the technical details and the steps I’ve already verified:
Environment Details