Improve Mnesia IO performances

With this configuration, the database Mnesia reduces the activity to the
disk. It is useful when a huge of queues/exchanges/bindings are created
and destroyed.
With the default value (100), RabbitMQ could log {Mnesia is overloaded}.
Moved to 300. The range should be between 100 and 1000.
Read [1] for more info.

[1] http://erlang.org/doc/man/mnesia.html#dump_log_write_threshold

Change-Id: I6dcfc9db02bcd8c8f0a1ebf58d9c3ceb84cae10a
This commit is contained in:
Gabriele 2019-03-28 16:15:30 +01:00
parent 618378637f
commit 615b60df8e
3 changed files with 25 additions and 1 deletions

View File

@ -130,6 +130,7 @@ rabbitmq_hipe_compile: False
# Disable non-TLS listeners
rabbitmq_disable_non_tls_listeners: False
# RabbitMQ policies
# Used to tune performance characteristics of OpenStack messaging
#
@ -166,3 +167,13 @@ rabbitmq_port_bindings:
"0.0.0.0": 5671
tcp_listeners:
"0.0.0.0": 5672
# Mnesia configuration
# The Mnesia dump_log_write_threshold option controls
# how often the dumping occurs
# Increase this value can increase the performances,
# reducing the IO.
# Increase it in case of:
# Mnesia is overloaded: {dump_log,write_threshold}.
# The default value is 100
mnesia_dump_log_write_threshold: 300

View File

@ -0,0 +1,12 @@
---
upgrade:
- |
The default Mnesia ``dump_log_write_threshold`` value
has changed to ``300`` instead of ``100`` for efficiency.
``dump_log_write_threshold`` specifies the maximum number of writes
allowed to the transaction log before a new dump of the log is performed.
Increasing this value can increase the performances
during the queues/exchanges/bindings creation/destroying.
The values should be between 100 and 1000. More detail [1].
[1] http://erlang.org/doc/man/mnesia.html#dump_log_write_threshold

View File

@ -40,5 +40,6 @@
{ rabbitmq_management, [
{ rates_mode, {{ rabbitmq_management_rates_mode }} }
]
}
},
{mnesia, [{dump_log_write_threshold, {{ mnesia_dump_log_write_threshold }} }]}
].