Use more RMQ flags for less busy wait

As mentioned in the Iced014acee7e590c10848e73feca166f48b622dc
commit message, in Ussuri+ we can use ``+sbwtdcpu none
+sbwtdio none`` as well. This is due to relying on RMQ-provided
erlang in version 23.x.

This change adds the extra arguments by default.
It should be backported down to Ussuri before we do a release with
Iced014acee7e590c10848e73feca166f48b622dc.

Change-Id: I32e247a6cb34d7f6763b544f247fd408dce2b3a2
This commit is contained in:
Radosław Piliszek 2021-07-28 19:14:43 +00:00
parent d328265216
commit d7cdad5325
4 changed files with 8 additions and 7 deletions

View File

@ -85,7 +85,7 @@ rabbitmq_user: "openstack"
rabbitmq_cluster_name: "openstack"
rabbitmq_hostname: "{{ ansible_facts.hostname }}"
rabbitmq_pid_file: "/var/lib/rabbitmq/mnesia/rabbitmq.pid"
rabbitmq_server_additional_erl_args: "+S 2:2 +sbwt none"
rabbitmq_server_additional_erl_args: "+S 2:2 +sbwt none +sbwtdcpu none +sbwtdio none"
# Dict of TLS options for RabbitMQ. Keys will be prefixed with 'ssl_options.'.
rabbitmq_tls_options: {}
# To avoid split-brain

View File

@ -97,7 +97,7 @@ already configures RabbitMQ server for IPv6 (if necessary). Any argument can be
passed there as documented in https://www.rabbitmq.com/runtime.html
The default value for ``rabbitmq_server_additional_erl_args`` is ``+S 2:2 +sbwt
none``.
none +sbwtdcpu none +sbwtdio none``.
By default RabbitMQ starts N schedulers where N is the number of CPU cores,
including hyper-threaded cores. This is fine when you assume all CPUs are
@ -106,5 +106,6 @@ Here we go for two scheduler threads (``+S 2:2``). More details can be found
here: https://www.rabbitmq.com/runtime.html#scheduling and here:
https://erlang.org/doc/man/erl.html#emulator-flags
The ``+sbwt`` argument prevents busy waiting of the scheduler, for more details
see: https://www.rabbitmq.com/runtime.html#busy-waiting.
The ``+sbwt none +sbwtdcpu none +sbwtdio none`` arguments prevent busy waiting
of the scheduler, for more details see:
https://www.rabbitmq.com/runtime.html#busy-waiting.

View File

@ -417,8 +417,8 @@
# https://www.rabbitmq.com/runtime.html#scheduling
# https://www.rabbitmq.com/runtime.html#busy-waiting
# The default tells RabbitMQ to always use two cores (+S 2:2),
# and not to busy wait (+sbwt none):
#rabbitmq_server_additional_erl_args: "+S 2:2 +sbwt none"
# and not to busy wait (+sbwt none +sbwtdcpu none +sbwtdio none):
#rabbitmq_server_additional_erl_args: "+S 2:2 +sbwt none +sbwtdcpu none +sbwtdio none"
# Whether to enable TLS encryption for RabbitMQ client-server communication.
#rabbitmq_enable_tls: "no"
# CA certificate bundle in RabbitMQ container.

View File

@ -10,4 +10,4 @@ fixes:
upgrade:
- |
Modifies the default value of ``rabbitmq_server_additional_erl_args`` from
an empty string to ``+S 2:2 +sbwt none``.
an empty string to ``+S 2:2 +sbwt none +sbwtdcpu none +sbwtdio none``.