[erlang-questions] Using the OTP 'rpc' service (rex) under high load, was: Re: Load balancing/multiplexing rpc calls amongst Erlang Nodes

Scott Lystig Fritchie <>
Wed Oct 24 06:33:38 CEST 2012


Hi, Joshua.  One note of caution about the rpc service, or more
specifically about the 'rex' gen_server that implements the server side
of the client/server remote execution service.

The 'rex' process is a single OTP gen_server and thus can use at most a
single CPU core's worth of computation resource.  Experience with using
rpc/rex with Riak has shown that certain workloads can easily overwhelm
the rex server's ability to quickly execute requests from remote
clients.  When possible, I'd recommend avoiding using the 'rpc' module
and bypass 'rex' by spawn()/spawn_monitor()/spawn_link()'ing worker
processes directly on a remote node.

-Scott



More information about the erlang-questions mailing list