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 | |
| 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')
| -rwxr-xr-x | scripts/rabbitmq-server | 2 | ||||
| -rwxr-xr-x | scripts/rabbitmq-server.bat | 2 | ||||
| -rwxr-xr-x | scripts/rabbitmq-service.bat | 2 |
3 files changed, 3 insertions, 3 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} \ diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index 1cf6c6baff..22dc10c605 100755 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -125,7 +125,7 @@ if "%RABBITMQ_MNESIA_DIR%"=="" ( -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 ^
%CLUSTER_CONFIG% ^
diff --git a/scripts/rabbitmq-service.bat b/scripts/rabbitmq-service.bat index 29be174284..6b997a250c 100755 --- a/scripts/rabbitmq-service.bat +++ b/scripts/rabbitmq-service.bat @@ -175,7 +175,7 @@ set ERLANG_SERVICE_ARGUMENTS= ^ -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%"\" ^
%CLUSTER_CONFIG% ^
%RABBITMQ_SERVER_START_ARGS% ^
|
