summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2017-02-05 14:41:40 +0300
committerMichael Klishin <mklishin@pivotal.io>2017-02-05 14:41:40 +0300
commit2f3fb8023ba1f535b13f4deb97106c08b78bc1d9 (patch)
tree9ed15d94bae7641041c4a0974857618d866e1182
parent3c32d7ed3ebf6d756a3e61a84cbeebc7394fc7f4 (diff)
downloadrabbitmq-server-git-2f3fb8023ba1f535b13f4deb97106c08b78bc1d9.tar.gz
Disable background GC by default; bump credit flow defaults
Quite a bit of evidence of different kinds of workloads suggest that background GC does not contribute meaningfully to reducing node RAM usage on most of them. It does, however, on each run produce a massive spike in VM and CPU context switches, causing latency spikes. Some users report that running without background GC cuts their latency to a half or even a third. Multi-hour stress tests that max out all node CPU cores suggest that our current credit_flow default can still be bumped safely, reducing the amount of time publishers are throttled and making publisher latency and node's observed message throughput more predictable.
-rw-r--r--Makefile4
1 files changed, 2 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 457bc45bbc..c79099cd77 100644
--- a/Makefile
+++ b/Makefile
@@ -94,7 +94,7 @@ define PROJECT_ENV
{msg_store_io_batch_size, 2048},
%% see rabbitmq-server#143
%% and rabbitmq-server#949
- {credit_flow_default_credit, {200, 100}},
+ {credit_flow_default_credit, {400, 200}},
%% see rabbitmq-server#248
%% and rabbitmq-server#667
{channel_operation_timeout, 15000},
@@ -106,7 +106,7 @@ define PROJECT_ENV
%% rabbitmq-server-973
{queue_explicit_gc_run_operation_threshold, 1000},
{lazy_queue_explicit_gc_run_operation_threshold, 1000},
- {background_gc_enabled, true},
+ {background_gc_enabled, false},
{background_gc_target_interval, 60000}
]
endef