qpid-proton mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Meulemans (JIRA)" <j...@apache.org>
Subject [jira] [Created] (PROTON-597) Improve the memory footprint of TrasportImpl
Date Fri, 06 Jun 2014 14:40:01 GMT
Marcel Meulemans created PROTON-597:
---------------------------------------

             Summary: Improve the memory footprint of TrasportImpl
                 Key: PROTON-597
                 URL: https://issues.apache.org/jira/browse/PROTON-597
             Project: Qpid Proton
          Issue Type: Improvement
          Components: proton-j
    Affects Versions: 0.7
            Reporter: Marcel Meulemans
            Priority: Minor


The memory footprint of the TrasportImpl can be quite high when using large maxFrameSizes
(for example 1MB). In the TrasportImpl of proton-j there are two classes TrasportOutputAdaptor
and FrameParser (TrasportImpl has a member of both) that hold a ByteBuffer of maxFrameSize
throughout their lifetime. In the case of the 1MB frame size that means that each transport
has a fairly high memory footprint (2MB) considering that this memory is hardly ever used,
i.e. only when there is a frame to transfer in/out and in most cases the frame will not be
maxFrameSize. Because there is a Transport for every connection the memory usage can become
quite high when dealing with many connections with large maxFrameSize, e.g. 2GB for only 1000
connections.

An proof of concept implementation for reducing the memory footprint by only allocating the
buffers when needed can be found here:
https://github.com/marcelmeulemans/qpid-proton/

See also the short mailinglist disscusion here:
http://qpid.2158936.n2.nabble.com/High-memory-footprint-of-proton-j-in-ActiveMQ-td7608977.html



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message