Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-2146

Reduce memory per connection

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-c-0.29.0
    • proton-c-0.30.0
    • proton-c
    • 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.

      Attachments

        Activity

          People

            cliffjansen Clifford Jansen
            cliffjansen Clifford Jansen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: