envoyproxy / envoyproxy/envoy

Memory utilization can grow significantly when struct fields are used for configuration of Envoy components

Offen
#5,965 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
help wanted tech debt
Vorherrschende Sprache
C++
Sterne
28.9k
Forks
5.6k
Ø Merge
1 T. 22 Std.
Gemergte PRs (30 T.)
430

Beschreibung

*Title*: Memory utilization can grow significantly when struct fields are used for configuration of Envoy components.

*Description*:
In my test bootstrap config with http_connection_manager configuration in "config" field with 50K virtual hosts uses ~1807MB. The same configuration, but put in "typed_config" results in 292MB.
This is due to maps being created to represent struct fields during reflection in MessageUtil::checkForDeprecation call.

[optional *Relevant Links*:]
Test that uses "typed_config" for http_connection_manager configuration: https://github.com/dmitri-d/envoy/blob/b6b2a9cff293a1bd97166e742091900fa36ce388/test/integration/rds_memory_stats_test.cc
Similar to the test above, but uses "config", which is a struct field: https://github.com/dmitri-d/envoy/blob/rds-memory-stats/test/integration/rds_memory_stats_test.cc

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.