← All stories
● Covered by 1 source · 1 reportMedium impact1 neutral

Envoy's oghttp2 codec showed 15-25% performance regression compared to nghttp2

🔄 Updated 1d ago
New to BrevFeed? We gather this story from every outlet covering it into one summary — ranked by real-world impact, not just the latest headline — so you never miss what matters. What is BrevFeed? →

Key points

  • Envoy v1.34 switched default HTTP/2 codec from nghttp2 to oghttp2.
  • oghttp2 caused 15-25% RPS/core slowdown on header-heavy traffic.
  • Envoy v1.37.0 reverted the default codec back to nghttp2.
  • The performance regression was observed across multiple microarchitectures.

Performance Regression Identified

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.

Reversion to Previous Codec

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.

Codec Comparison and Benchmarking

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.

Importance of Build Optimization

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 →

The daily brief

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.

Today's brief

Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.

~7 min · 6 stories · Aug 15

▶ Play today's brief Listen on Spotify

New every morning, and the back catalogue is archived by date.

Reporting from

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.