RabbitMQ should use appropriate async thread pool size
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Mirantis OpenStack | Status tracked in 10.0.x | |||||
10.0.x |
Fix Committed
|
Medium
|
Alexey Lebedeff |
Bug Description
Detailed bug description:
Erlang runtime has parameter controlling the size of async thread pool. Rabbitmq by default specifies the default value of 64 for this parameter. But for hosts with large number of CPU cores it could be insufficient. Detailed discussion is at https:/
Steps to reproduce:
Run
ps ax | perl -nE '/-s rabbit boot/ && /^\s*(\d+).*?-A (\d+)/ && say "$2"'
on controller, resulting number should be greater than 64 if there is more than 4 CPU cores.
Expected results:
Number between 64 and 1024, closest to 16 * number of CPU cores.
Actual result:
64
Reproducibility:
Always on
Workaround:
Specify value in rabbitmq config on a per-installation basis.
Impact:
Severe underutilization of powerful host machines
Additional:
There is an upstream patch about autotuning this parameter - https:/
We should backport it for 9.0
Changed in mos: | |
status: | New → Confirmed |
status: | Confirmed → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Alexey Lebedeff (alebedev-a) |
milestone: | none → 9.0 |
tags: | added: rabbitmq |
tags: | added: on-verification |
Fix proposed to branch: master /review. fuel-infra. org/19143
Change author: Alexey Lebedeff <email address hidden>
Review: https:/