An Envoy upgrade to v1.34 for a customer's dedicated proxies resulted in a significant increase in CPU usage. This version introduced Google's oghttp2 as the default HTTP/2 codec, replacing nghttp2. Users had previously reported 15-25% latency regressions following this change.
Due to these performance issues, Envoy v1.37.0 reverted the default HTTP/2 codec back to nghttp2. This change resolved the performance regression for the affected customer, indicating that the oghttp2 implementation was the source of the slowdown.
The investigation compared nghttp2, a C library, with oghttp2, a C++ codec from the QUICHE family. Benchmarks conducted on Intel Sapphire Rapids, AMD Zen 4, AWS Graviton4, and Google Axion microarchitectures confirmed the user reports. nghttp2 consistently outperformed oghttp2 by 15-25% RPS/core for header-heavy proxied traffic and by 7-19% under heavy connection churn.
A critical finding during the investigation was the impact of optimization flags during Envoy compilation. A default `bazel build` without `-c opt` produces a debug binary that performs 15-32 times slower per core than an optimized build. All performance numbers in this analysis were derived from `-c opt` builds.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
An investigation into Envoy's HTTP/2 codec change revealed that Google's oghttp2, which became the default in Envoy v1.34, caused a 15-25% performance slowdown compared to the previous nghttp2 codec. This regression led to Envoy v1.37.0 reverting to nghttp2 as the default, impacting users who experienced increased CPU usage and latency.