Google的HTTP/2编解码器拖慢Envoy

Google's HTTP/2 codec slows Envoy

Google的HTTP/2编解码器拖慢Envoy

我们给一位客户升级Envoy时,发现CPU使用率莫名飙升了五分之一。排查发现,罪魁祸首是Envoy v1.34默认将HTTP/2编解码器从nghttp2切换到了Google的oghttp2。实测显示,在多种架构上,nghttp2在处理头部繁重的代理流量时,性能比oghttp2高出15%到25%。深入分析发现,瓶颈在于HPACK的Huffman解码:nghttp2自2014年起就使用预计算的有限状态机实现快速解码,而oghttp2则未采用这一优化。尽管Google后来在v1.37.0中回退了默认设置,但这场性能对决背后的技术细节,依然值得深挖。

nghttp2自2014年起就使用预计算的有限状态机来实现快速解码,而oghttp2则未采用这一优化。

同日更多故事

2026-08-05