[erlang-questions] Choke Point

Tim Watson watson.timothy@REDACTED
Fri May 27 19:25:59 CEST 2011


On 27 May 2011 17:02, Mihai Balea <mihai@REDACTED> wrote:
>
> On May 27, 2011, at 10:25 AM, Henning Diedrich wrote:
>
> Does the Erlang VM have a choke threshold beyond which performance degrades,
> similar to the 2GB that the Java VM has/had? [1]
>
> I understand Erlang has per process gc and not this gc issue therefore. I am
> asking not specifically about gc but about any implicit practical limit.
>
> Not a threshold per se, but you can experience serious performance
> degradation if messages are allowed to accumulate in a process' mailbox.
> Typical of a producer/consumer situation, when the consumer can't keep up.
> Mihai

A number of solutions exist to prevent this, including gen_server2
(part of rabbitmq and mirrored as a standalone OTP library on github).
I believe the draining of a process' message box prior to handing off
to the gen_server callbacks is now (post R13/R14 ?) part of gen_server
proper, so as usual the advice is to stick to battle tested OTP
behaviours and avoid running into many (though not all) of these kinds
of issues.



More information about the erlang-questions mailing list