gRPC Performance and Testing: A Maintainer Perspective
summary
Maintainers run a continuous benchmarking framework with QPS worker + driver processes and JSON-configured runs that measure latency, throughput and CPU across languages and publish results to a public dashboard; an open‑source test repo reproduces scenarios. They run 100+ microbenchmarks, over 20 fuzzers that found CVEs and a DNS 64k SRV pathology, and use perf/pprof and flame graphs for root cause. Upcoming work promises to eliminate one or two allocations in Go HTTP/2 framing and add a C++ event engine and promise‑based filter stack to cut memory and locks.
AI-written summary · about
chapters (16)
- 0:00gRPC performance intro
- 1:22Continuous performance measurement
- 3:50Maintainers' performance goals
- 7:21Benchmarking infrastructure
- 8:03QPS framework details
- 11:53Benchmarking on Kubernetes
- 12:56Other testing approaches
- 13:37Profiling and regressions
- 15:22Microbenchmarks for hotspots
- 17:08Hyrum's law and API perf
- 17:51Fuzzing for correctness
- 20:39gRPC Go perf projects
- 21:01gRPC C++ event engine
- 21:43Promise-based filter stack
- 22:05Summary and future
- 22:31Q&A and dashboard
related talks
23mStop Performance Regressions Before Release Valkey’s CI Benchmarking
01h 01mBreaking your REST APIs to make them stronger!!
31mTests Are What You Want, What You Really Really Want
32mBetter Integration Tests for Performance Monitoring
44mPanel: Performance... performance
45mPerformance lab. The power of the perf tool!
31mFake It to Make It! - TDD of gRPC Microservices
38mPerformance Testing sucks! How to get started testing RESTful APIs and GraphQL
