[erlang-questions] Distribution: small packets

Danil Zagoskin <>
Wed Jul 9 14:57:01 CEST 2014


Thank you, Scott!

I performed some tests and here are my results (5000 concurrent HTTP
clients with cowboy on every node):
  * {delay_send, true} has almost no effect
  * kernel parameter {dist_nodelay, false} (disables nodelay socket option
on dist port) gives 25% more service rps (32K to 40K) with large latency
(98% is at 30 ms vs 4 ms in default setup)
  * latency slowly increases up to 250 ms, then jumps to 550..650 ms.
Possibly related to tcp retransmit.



On Wed, Jul 9, 2014 at 7:30 AM, Scott Lystig Fritchie <
> wrote:

> Danil Zagoskin <> wrote:
>
> dz> If yes, how can I change this behavior by cost of couple of
> dz> millisecods latency?
>
> Hi, Danil.  Have you tried the configuration setting mentioned in the
> 4th paragraph of the Description of
> http://www.erlang.org/doc/man/inet.html ?
>
>     Using the Kernel configuration parameters mentioned above, one can
>     set default options for all TCP sockets on a node. This should be
>     used with care, but options like {delay_send,true} might be
>     specified in this way. An example of starting an Erlang node with
>     all sockets using delayed send could look like this:
>
>         $ erl -sname test -kernel \
>             inet_default_connect_options '[{delay_send,true}]' \
>             inet_default_listen_options '[{delay_send,true}]'
>
> Note that 'sndbuf' and 'recbuf' can be set this way also.
>
> -Scott
>



-- 
Danil Zagoskin | 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140709/a6aed734/attachment.html>


More information about the erlang-questions mailing list