From Microbenchmarks to HTTP2 Load-testing: 5 Performance To...
summary
Envoy startup has a 20x startup speed-up after fixing quadratic behavior (from >10 minutes to 22s) and then reworking regex checks to reach 3.75s; switching regexp library and rewriting a hot pattern cuts per-match cost from ~1.3µs to <0.5µs and yields a ~10% overall start improvement. A new Nighthawk load generator (Envoy networking stack) drives HTTP/2, offers closed/open loop modes, reveals a 5µs HTTP/1 vs HTTP/2 gap and a 2ms long tail traced to CPU pinning reduced to 600µs. Instrumentation via regex microbenchmarks and fuzzer found N² bug (CVE) round out the toolset.
AI-written summary · about
chapters (28)
- 0:00Intro
- 0:18Adding Observability to a Service Oriented Architecture
- 1:16Scaling Dimensions
- 2:04Situational use of tools and techniques
- 2:15Case-study: stat scalability issues during startup
- 3:00Stat scalability phase 2: regex tag init bottleneck
- 4:11Performance Annotations in stats tag extraction
- 5:37Prefiltering to reduce the number of regex evals
- 7:22Next steps toward improving performance
- 9:07Microbenchmarks comparing variants
- 10:34Take-aways: Microbenchmarks and Annotation
- 12:22Load Generation Evaluation funnel
- 12:35Detailed Evaluation: WRK2
- 12:50Detailed Evaluation: fortio
- 13:22Decision: build a load-generator on top of Envoy
- 14:33Nighthawk: closed-loop mode
- 14:53Nighthawk: command line closed-loop test
- 15:08Nighthawk: open-loop mode
- 15:30Nighthawk: command line open-loop test
- 15:44Nighthawk: zooming in
- 16:07Nighthawk: single threaded pinned test server
- 16:17Nighthawk: Measuring small differences
- 17:33Nighthawk: Envoy H1 vs H2 performance
- 18:11Nighthawk: tracing
- 18:35Nighthawk: notable features
- 19:12Finding performance problems with fuzzing
- 19:31Finding Performance Problems from generated patterns
- 21:47Fuzzing performance challenges
related talks
39mLast-Minute Performance Testing
36mPerformance Optimization 101
56mBetting on Performance: A note on Hypothesis-driven Performance Testing
21mBenchmarking Like a Boss
27mEffective Performance Testing to your Server with Autocannon
38mYour benchmark may not guide a real application performance
02h 44mMeasure, don’t guess: benchmarking stories from the trenches
39mMicro Benchmarks
