[library] Set correct sysctl vm.swappiness parameter for deployed nodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Released
|
High
|
Bartłomiej Piotrowski | ||
5.1.x |
Fix Committed
|
High
|
Bartłomiej Piotrowski | ||
6.0.x |
Fix Committed
|
High
|
Bartłomiej Piotrowski | ||
6.1.x |
Fix Released
|
High
|
Bartłomiej Piotrowski |
Bug Description
Currently we leave sysctl vm.swappiness parameter value as is - 60% by default.
For controllers and nodes running databases (Mongo, Zabbix) default value is incorrect.
Recommended is sysctl vm.swappiness=10
It prevents swapping when about 60% of RAM is free.
Additionally, this parameter may be reduced for all the other nodes as well.
We do not use and do not recommend load, which may result in swapping. And we better avoid swapping as much as possible.
For high performance multiple CPU socket systems setting this parameter to 5-10 is even more important, since the amount of free RAM and swapping is going based not on total RAM available but on per-socket plugged in RAM amount (per NUMA node RAM size).
Symptoms are unexpected RabbitMQ or MySQL slowdowns, broken and timed-out connections on the very high end systems with a lot of free resources..
I would like to thank the author of this blog, who found this bug first. championofcyrod iil.blogspot. ru/2015/ 01/rabbitmq- handshaketimeou t.html
http://
Workaround is to set proper vm.swappiness value manually on every deployed node.
This setting is recommended for every OpenStack node and version.