qpid-proton mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PROTON-597) Improve the memory footprint of TrasportImpl
Date Fri, 27 Jun 2014 10:08:25 GMT

    [ https://issues.apache.org/jira/browse/PROTON-597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14045786#comment-14045786
] 

ASF subversion and git services commented on PROTON-597:
--------------------------------------------------------

Commit 1606012 from [~gemmellr] in branch 'proton/trunk'
[ https://svn.apache.org/r1606012 ]

PROTON-597: only release transport buffers if they are above a threshold capacity

> 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
>            Assignee: Robbie Gemmell
>            Priority: Minor
>         Attachments: 24ac15802a67d2eff0257e79827c3a09879ce0a4.patch
>
>
> 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