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

Roberto Ostinelli roberto.ostinelli@REDACTED
Wed Feb 25 19:49:19 CET 2015


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
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150225/f861c9d2/attachment.htm>


More information about the erlang-questions mailing list