What version of gRPC are you using?
1.14.0
Hi,
I have a service that communicates with upstream via reactive-grpc. It performs both unary calls and subscriptions.
Under high load, after request/subscriptions rate exceeds some threshold, the service starts receiving StatusRuntimeExceptions with status CANCELLED.
I performed some Wireshark investigations and discovered that the amount of time taken by the service to respond to http2 PING sent by the upstream gradually increases with the load. At the moment it exceeds keepalive timeout configured for the upstream, the upstream cancels the call.
Are there any ways to configure/examine the process of http2 ping-pong under grpc? What aspects of configuration may affect this process? What code is responsible for this processing? Where should I put a breakpoint? Any explanations, suggestions, and considerations are welcome.
I'm not sure what particular information about my configuration I should provide, but I will provide anything required.
Thank you!
What version of gRPC are you using?
1.14.0
Hi,
I have a service that communicates with upstream via reactive-grpc. It performs both unary calls and subscriptions.
Under high load, after request/subscriptions rate exceeds some threshold, the service starts receiving StatusRuntimeExceptions with status CANCELLED.
I performed some Wireshark investigations and discovered that the amount of time taken by the service to respond to http2 PING sent by the upstream gradually increases with the load. At the moment it exceeds keepalive timeout configured for the upstream, the upstream cancels the call.
Are there any ways to configure/examine the process of http2 ping-pong under grpc? What aspects of configuration may affect this process? What code is responsible for this processing? Where should I put a breakpoint? Any explanations, suggestions, and considerations are welcome.
I'm not sure what particular information about my configuration I should provide, but I will provide anything required.
Thank you!