rabbitmq: change io_thread_pool based on platform cpus
By default, rabbitmq calculates the io thread pool size based on cpus. On AIO, not all cpus are reserved for platform services. The pool size should be calculated based on platform cpus. Change-Id: I856e8dda6827a4c36944f43eccdc9a91b19655eb Depends-On: https://review.opendev.org/#/c/676031 Closes-Bug: 1834796 Signed-off-by: Bin Yang <bin.yang@intel.com>
This commit is contained in:
parent
7fb5fbfd75
commit
b1b7878bcb
|
@ -20,6 +20,13 @@ class RabbitmqHelm(openstack.OpenstackBaseHelm):
|
|||
def get_overrides(self, namespace=None):
|
||||
limit_enabled, limit_cpus, limit_mem_mib = self._get_platform_res_limit()
|
||||
|
||||
# Refer to: https://github.com/rabbitmq/rabbitmq-common/commit/4f9ef33cf9ba52197ff210ffcdf6629c1b7a6e9e
|
||||
io_thread_pool_size = limit_cpus * 16
|
||||
if io_thread_pool_size < 64:
|
||||
io_thread_pool_size = 64
|
||||
elif io_thread_pool_size > 1024:
|
||||
io_thread_pool_size = 1024
|
||||
|
||||
overrides = {
|
||||
common.HELM_NS_OPENSTACK: {
|
||||
'pod': {
|
||||
|
@ -42,6 +49,10 @@ class RabbitmqHelm(openstack.OpenstackBaseHelm):
|
|||
}
|
||||
}
|
||||
},
|
||||
'io_thread_pool': {
|
||||
'enabled': limit_enabled,
|
||||
'size': "%d" % (io_thread_pool_size)
|
||||
},
|
||||
'endpoints': self._get_endpoints_overrides(),
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue