summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
authorMichael Klishin <michael@rabbitmq.com>2014-06-20 13:01:49 +0400
committerMichael Klishin <michael@rabbitmq.com>2014-06-20 13:01:49 +0400
commitb605fb50bde555dce1e8c9488e8e1efb171d8180 (patch)
tree9ba28586f6510abe8dae584cc8b65d3fabf65daf /src/rabbit.erl
parentb4d20f4d07294e98aa1ea4261adc2ccd0be26a30 (diff)
downloadrabbitmq-server-b605fb50bde555dce1e8c9488e8e1efb171d8180.tar.gz
Warn if Nagle's algorithm is enabled by default
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 38b19e75..a1bd76aa 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -494,6 +494,7 @@ start(normal, []) ->
log_banner(),
warn_if_kernel_poll_is_disabled(),
warn_if_few_async_threads(),
+ warn_if_nagles_algorithm_is_enabled(),
run_boot_steps(),
{ok, SupPid};
Error ->
@@ -825,7 +826,7 @@ warn_if_kernel_poll_is_disabled() ->
ok;
false ->
error_logger:warning_msg("Kernel poll (epoll, kqueue, etc) "
- "is disabled. Throughput and"
+ "is disabled. Throughput and "
"CPU utilization may worsen.~n"),
ok
end.
@@ -842,6 +843,21 @@ warn_if_few_async_threads() ->
ok
end.
+warn_if_nagles_algorithm_is_enabled() ->
+ IDCOpts = application:get_env(kernel, inet_default_connect_options, []),
+ Msg = "Nagle's algorithm is enabled for sockets, "
+ "network I/O latency will be higher~n",
+ case proplists:lookup(nodelay, IDCOpts) of
+ none ->
+ error_logger:warning_msg(Msg),
+ ok;
+ {nodelay, false} ->
+ error_logger:warning_msg(Msg),
+ ok;
+ {nodelay, true} ->
+ ok
+ end.
+
home_dir() ->
case init:get_argument(home) of
{ok, [[Home]]} -> Home;