diff options
| author | Matthew Sackman <matthew@lshift.net> | 2009-07-07 17:28:12 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2009-07-07 17:28:12 +0100 |
| commit | b94bc69b0694ddafc81301006c3a09f9f81b39ad (patch) | |
| tree | 24415a60a45a9f3507f2d628723d51d899a77c5e /scripts/rabbitmq-server | |
| parent | d4c8c48f33176426c5fcfaf0da2f7a76ef335f89 (diff) | |
| download | rabbitmq-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-x | scripts/rabbitmq-server | 2 |
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} \ |
