Tuning gRPC for High Performance: Deadlines, Batching, and KeepAlives
summary
Explains concrete tuning: deadlines propagate downstream so use 1.5s client deadline examples and fail early on servers that see remaining <50ms to avoid wasted work; prefer absolute deadlines and clamp to avoid cumulative rounding and retry amplification. Batch RPCs (size-based or time-based) with typical batch sizes 16 or 64 or a 10ms flush window to reduce CPU and wire overhead. Use HTTP/2 pings for keepalives tuned to ~45s (shorter than 60s LB timeouts) with ±15–20% jitter and server guardrails.
AI-written summary · about
chapters (4)
- 0:00Introduction to gRPC tuning
- 3:00Managing gRPC deadlines
- 11:50Implementing gRPC batching
- 16:49Configuring keep-alives
related talks
22mA Case Study of Enhancing gRPC Micro-Services for Supporting High Throughput, Low Latency Trading
45mgRPC vs REST: let the battle begin!
20mKeynote: Overview of gRPC
55mForget about HTTP
47mMonolith to Microserv. at 20M+ requests per second: Latency and Scale Challenges
23mReducing gRPC Call Volume Through Caching and Batching
46mIntroduction to gRPC
16mKeynote: Overview of gRPC
