Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
proton-c-0.29.0
-
None
Description
The transport currently starts with 2 16K buffers: one for input and one for output, and they grow from there depending on load.
Instrumenting with Quiver and Qpid dispatch router shows that these starting buffer sizes can be reduced to 8K without detectable performance degradation. This can reduce memory load by close to 16K per connection for processes with large numbers of lightly loaded connections. Connections with heavier load will still grow as large as before, but with one extra 8K->16K growth step in buffer size.
Reducing to 4K does lead to a degradation of several percent and further reductions to 2K leads to a degradation closer to 20%. So smaller starting sizes are not considered for now, but reworking the transport growth strategy might make it possible in future.