envoyproxy / envoyproxy/envoy

perf: consider allowing upstream connections to be shared by workers

Open
#8,702 11 comments 0 reactions 0 assignees View on GitHub
area/http area/perf design proposal help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

The full silo model works out well in many cases, but in some cases (especially low memory) it may be better to allow a connection pool to be shared across the workers. This would cut down on the number of connections used, have greater connection pool hit rate, etc. at the expense of increased synchronization when the workers need to access the connection pool.

I think this could be implemented somewhat cleanly by allowing for a connection pool implementation that is shared across workers and uses its own processing thread.

This has already come up in discussion with @HenryYYang WRT to redis and I think @antoniovicente had also brought this up.

I'm opening this issue up for discussion as well as potentially a full design proposal if there is interest.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.