[erlang-questions] Inter-node communication bottleneck
Jihyun Yu
yjh0502@REDACTED
Mon Sep 8 15:25:34 CEST 2014
I didn't tested, but AFAIK {active, once} is useful when process wants
to handle messages other than TCP packet without blocking.
On Mon, Sep 08, 2014 at 06:14:02AM -0700, Dror Mein wrote:
> active false worked better than active once?
>
>
> On Monday, September 8, 2014 3:12 PM, Jihyun Yu <yjh0502@REDACTED> wrote:
>
>
>
> Hi,
>
> I couldn't spend much time after last
> update. It seems that using
> multiple TCP sockets is not that scalable as well. I ran a test with
> following configurations.
>
> - 12 cores, 24 threads server (Intel L5640 x 2)
> - Two Erlang VM on two docker containers
> - Connects with 12 TCP connections and send/recv packets
> - [{delay_send,true}, {high_watermark,1024000}]
>
> With single integer term, total bandwidth is capped on about ~10MB/s.
> With single binary term <<"hello">>, total bandwidth is capped on about
> 20~30MB/s. Two Erlang VM consume almost all CPU resources (2400% total),
> so bandwidth per CPU usage is much worse than Erlang messaging case. I
> didn't run perf yet, so I don't know where is an bottleneck.
>
> I attached test source code so you can
> reproduce the result. Please tell
> me if there is an error on configurations/test codes/...
>
>
> [1] http://www.erlang.org/doc/man/inet.html
>
>
> On Mon, Sep 08, 2014 at 03:59:04AM -0700, Dror Mein wrote:
> > I encountered the same problem. any updates or new successes? the binary_to_term over tcp sounds promising.
More information about the erlang-questions
mailing list