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 |