[erlang-questions] Garbage Collection, BEAM memory and Erlang memory

Erik Søe Sørensen eriksoe@REDACTED
Wed Feb 25 20:28:54 CET 2015


Are you using the 'hibernate_after' ssl option? It made quite a difference
in our application.
Den 25/02/2015 19.49 skrev "Roberto Ostinelli" <
roberto.ostinelli@REDACTED>:

> It's the processes handling the ssl sockets.
>
> Best,
> r.
>
>
>
> On 24/feb/2015, at 10:59, Ingela Andin <ingela.andin@REDACTED> wrote:
>
> Hi!
>
> Did you try observing your system with the observer application? You
> should be able to get much better information of what Erlang processes
> consume a lot of memory and
> why.
>
>
> Regards Ingela Erlang/OTP Team - Ericsson AB
>
>
> 2015-02-20 20:19 GMT+01:00 Roberto Ostinelli <roberto@REDACTED>:
>
>> As an addendum: I apologise because this cannot be clearly seen in the
>> charts (I forgot to "humanise" the axis), but we're talking about a steady
>> RAM usage of 4.5GB without SSL, in comparison to blowing up a node with
>> 30GB with SSL.
>>
>> Best,
>> r.
>>
>> On Fri, Feb 20, 2015 at 3:11 PM, Roberto Ostinelli <roberto@REDACTED>
>> wrote:
>>
>>> Dear List,
>>> Given the amount of answers I got in this post, I want to follow up and
>>> give some additional information.
>>>
>>> After struggling for quite a while, I just did a comparison between
>>> using SSL connections vs standard TCP connections.
>>> The results are quite impressive.
>>>
>>> This is the diagram of memory evolution for a system under load, with
>>> SSL:
>>> https://cldup.com/cNOc8hS004-2000x2000.png
>>>
>>> This is the same system, but without SSL:
>>> https://cldup.com/sx3RrdMR8o-3000x3000.png
>>>
>>> You can clearly see that using standard TCP connections the system is
>>> extremely stable.
>>> Using SSL connections, on the other hand, results in RAM memory having
>>> very erratic behavior that ends up blowing up the node.
>>>
>>> Not sure what to do with this information, except that I'm going to use
>>> a SSL termination (HAProxy or ELB) and have my Erlang node run without SSL.
>>>
>>> If anyone is curious just ping me.
>>>
>>> Best,
>>> r.
>>>
>>>
>>>
>>>
>>>
>>> On Wed, Jan 28, 2015 at 8:09 PM, Roberto Ostinelli <
>>> roberto.ostinelli@REDACTED> wrote:
>>>
>>>> That's a valid point, and I can clarify.
>>>>
>>>> During the first phase, all the long lived connections are made. During
>>>> the second phase, newly-created short lived connections send messages to
>>>> the long lived ones.
>>>>
>>>> The long lived connection are all connected when the first memory
>>>> increase phase ends, which is when the short-lived connections start
>>>> sending messages.
>>>>
>>>> What is unclear to me is why the second memory increase phase happens
>>>> quite some time after these short lived processes have started sending
>>>> messages.
>>>>
>>>>
>>>> > On 28/gen/2015, at 20:02, Anton Lebedevich <mabrek@REDACTED> wrote:
>>>> >
>>>> > The graph looks really weird for me assuming that the load applied to
>>>> > the system is stable. Why does it go down for a short time and then
>>>> > jumps higher than it was?
>>>>
>>>
>>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150225/4f575c7c/attachment.htm>


More information about the erlang-questions mailing list