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

Roberto Ostinelli roberto.ostinelli@REDACTED
Wed Mar 4 19:22:45 CET 2015

> On 04/mar/2015, at 18:12, Rick Reed <rr@REDACTED> wrote:
> Interesting.  What kind of load were you throwing at stud that it couldn’t handle?  We terminate all our SSL using stud.  We easily do >2000 handshakes per second and as much as 8Gb/s per server.  Granted, these are pretty beefy boxes, but the only part of the stud setup that doesn’t scale for us is when we’re trying to scale up past 1.5M external connections (which means 4.5M sockets).
> Rr

Hi Rick,
I didn't use a separate box for SSL termination with stud. I basically wanted to see if stud could offload SSL from my Erlang application, so I just set my app to run in non-ssl mode, and had stud handle the SSL frontend on the same box. 

On a single Erlang box with SSL-enabled I handle around 180k always-connected devices, each sending heartbeats every minute, plus around 4k/s short-lived incoming https requests.

Sure, I'd be better off having stud on a separate box, but I'd rather have 2 Erlang boxes than 1 Erlang + 1 stud box. Also, I read on stud's readme file that every connection has a 200k bytes overhead. Erlang uses around 8GB for everything so stud's ram consumption is order of magnitude higher for my 180k online + 20k short-lived connections (unless I mis-read that info).

Anything you believe I should try?


More information about the erlang-questions mailing list