Buffer Accounting: Account for allocated bytes in buffers charging to a particular downstream.
Description:
Buffer limits for Envoy are too soft. This can lead to excessive buffering, potentially OOMing Envoy. The existing mechanism which we have don't allow us to quickly close streams for existing connections to reclaim resources if we're facing memory pressure.
If we tracked how much allocated bytes in buffers a stream uses, then we would be able to create an overload manager action to help shed expensive streams when under memory pressure.
Buffer Accounting: Account for allocated bytes in buffers charging to a particular downstream.
Description: Buffer limits for Envoy are too soft. This can lead to excessive buffering, potentially OOMing Envoy. The existing mechanism which we have don't allow us to quickly close streams for existing connections to reclaim resources if we're facing memory pressure.
If we tracked how much allocated bytes in buffers a stream uses, then we would be able to create an overload manager action to help shed expensive streams when under memory pressure.
More details in the design doc.
Hope this makes sense. Thanks!