[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