envoyproxy/envoy

[http] Measure per-connection and per-request memory usage

Open

#11,421 opened on Jun 3, 2020

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/httparea/perfhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

It would be good to have some benchmarks that measure memory usage in the following scenarios:

  • H1 and H2 request after proxying request headers to upstream
  • H1 and H2 request after proxying response headers to client
  • Idle H1 client connection using raw sockets and TLS sockets
  • Idle H2 client connection with empty/full compression context

Implementing strict tests like test/integration/stats_integration_test.cc for codec memory usage may not be feasible due to the codecs having a higher rate of change. Use of a mechanism like the one proposed in https://github.com/envoyproxy/envoy/issues/11266 to track these performance metrics and flamegraphs of the heapz output from CI would allow us to detect and track down improvements/regressions.

@oschaaf

Contributor guide