summaryrefslogtreecommitdiff
path: root/scripts/rabbitmq-server
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-07-07 17:28:12 +0100
committerMatthew Sackman <matthew@lshift.net>2009-07-07 17:28:12 +0100
commitb94bc69b0694ddafc81301006c3a09f9f81b39ad (patch)
tree24415a60a45a9f3507f2d628723d51d899a77c5e /scripts/rabbitmq-server
parentd4c8c48f33176426c5fcfaf0da2f7a76ef335f89 (diff)
downloadrabbitmq-server-git-b94bc69b0694ddafc81301006c3a09f9f81b39ad.tar.gz
lots of tuning and testing. Totally rewrote the to_disk_only_mode in mixed_queue so that it does batching. This means that it won't just flood the disk_queue with a billion messages, thus exhausting memory. Instead it does batching and uses tx_commit to demarkate the batches. This means the conversion happens as quickly as possible and does not exhaust memory. Dropped the memory alarms to 0.8. This is a good idea because converting queues between modes transiently takes a fair chunk of memory, and leaving the alarms up at 0.95 was proving too high making the mode transitions exhaust ram and swap to buggery.
However, there is a problem when going to disk_mode in mixed queue where messages in the queue are already on disk. A million calls to phantom deliver is not a good idea, and locks a CPU core at 100% for a very long time.
Diffstat (limited to 'scripts/rabbitmq-server')
-rwxr-xr-xscripts/rabbitmq-server2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index 0aa09bd84c..70e0c66bcd 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -96,7 +96,7 @@ exec erl \
-os_mon start_memsup false \
-os_mon start_os_sup false \
-os_mon memsup_system_only true \
- -os_mon system_memory_high_watermark 0.95 \
+ -os_mon system_memory_high_watermark 0.8 \
-mnesia dir "\"${RABBITMQ_MNESIA_DIR}\"" \
-mnesia dump_log_write_threshold 10000 \
${RABBITMQ_CLUSTER_CONFIG_OPTION} \