rabbitmq-server/deps/rabbit/scripts
Carl Hörberg 413bfe7b37 Disable Erlang busy wait by default
By disabling Erlang busy wait threshold CPU usage with 5000 idle connection
drops from 110% to 14%. Throughput does not seem to be affected at all,
if any thing it actually goes up a bit when you have 5000 idle connections
(because less CPU cycles are wasted polling idle connections).

rabbitmq-perf-test-2.13.0/bin/runjava com.rabbitmq.perf.PerfTest -s 8000 -z 15

With default erlang busy wait threshold:
id: test-115706-497, sending rate avg: 39589 msg/s
id: test-115706-497, receiving rate avg: 39570 msg/s

With busy wait disabled:
id: test-115807-719, sending rate avg: 40340 msg/s
id: test-115807-719, receiving rate avg: 40301 msg/s

rabbitmq-diagnostics runtime_thread_stats output while running the
PerfTest:

with default busy wait threshold:

Stats per type:
         async    0.00%    0.00%    0.00%    0.00%    0.00%    0.00%  100.00%
           aux    0.01%    0.00%    0.00%    0.00%    0.00%    0.00%   99.98%
dirty_cpu_sche    0.00%    0.00%    0.00%    0.03%    0.05%    0.00%   99.92%
dirty_io_sched    0.00%    0.00%    0.00%    0.00%    0.01%    0.00%   99.99%
          poll    0.00%    0.67%    0.00%    0.00%    0.00%    0.00%   99.33%
     scheduler    0.69%    0.18%   28.41%    5.49%    9.50%    7.43%   48.29%

without busy wait threshold:

Stats per type:
         async    0.00%    0.00%    0.00%    0.00%    0.00%    0.00%  100.00%
           aux    0.01%    0.00%    0.00%    0.00%    0.01%    0.00%   99.98%
dirty_cpu_sche    0.00%    0.00%    0.00%    0.00%    0.00%    0.00%  100.00%
dirty_io_sched    0.00%    0.00%    0.00%    0.00%    0.00%    0.00%  100.00%
          poll    0.00%    0.77%    0.00%    0.00%    0.00%    0.00%   99.23%
     scheduler    0.70%    0.14%   28.29%    5.41%    0.86%    7.22%   57.38%
2021-02-10 12:35:12 +01:00
..
rabbitmq-defaults Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-defaults.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-diagnostics Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-diagnostics.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-echopid.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-env Disable Erlang busy wait by default 2021-02-10 12:35:12 +01:00
rabbitmq-env.bat Disable Erlang busy wait by default 2021-02-10 12:35:12 +01:00
rabbitmq-plugins Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-plugins.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-queues Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-queues.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-rel Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-server Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-server.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-service.bat Pass RABBITMQ_NODENAME via Windows service environment 2020-12-07 12:03:06 -08:00
rabbitmq-streams Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-streams.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-upgrade Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmq-upgrade.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmqctl Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00
rabbitmqctl.bat Change repo "root" to deps/rabbit 2020-11-13 14:34:42 +01:00