[
https://issues.apache.org/jira/browse/PROTON-597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14045784#comment-14045784
]
ASF subversion and git services commented on PROTON-597:
--------------------------------------------------------
Commit 1606010 from [~gemmellr] in branch 'proton/trunk'
[ https://svn.apache.org/r1606010 ]
PROTON-597: update TransportOutputAdaptor and FrameParser to release buffers
after use, reducing memory consumption when using large frame sizes
Change from Marcel Meulemans
> 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)