envoyproxy/envoy

quic: measure GRO performance and enable it via config

Open

#19,119 建立於 2021年11月29日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)C++ (5,373 fork)batch import
area/perfarea/quicarea/udphelp wanted

倉庫指標

Star
 (27,997 star)
PR 合併指標
 (平均合併 8天) (30 天內合併 378 個 PR)

描述

UDP GRO is supposed to improve socket read performance on client side but currently our code performs very poorly in nighthawk client, by reading one packet per read while allocating 24k buffer. It will be worthwhile to invest the suitable traffic patten for GRO. Meanwhile this feature is disabled in https://github.com/envoyproxy/envoy/pull/19088 and it will be good to exposed it via a config knob after we know the suitable use case.

And there was a bug reported that the socket reading code allocating 24k buffer per read might lead to MSG_TRUNC and cause packets dropped occasionally. We should change the value to be 64k which is the max GRO receive buffer allowed by the kernel.

貢獻者指南