074e577791
The database pool size is per-worker and not shared among the workers.
Currently we incorrectly scale max_pool_size with the worker count,
resulting in an excessive number of database connections that are both
unnecessary and can exhaust the MySQL server max_connections.
With the previous formula max_pool_size = workers * 4, the resulting
connection count was exponential e.g. with 10 workers you get 400
connections but with 20 workers you get 1600. With the commonly deployed
setting of worker-multiplier=0.25 you get 20 workers on 40C/80T machines
and a 3 node HA setup was consuming 3 * 1600 = 4800 MySQL connections.
This customisation was added when rpc_workers support was added (commit
|
||
---|---|---|
.. | ||
database | ||
rabbitmq | ||
section-database | ||
section-designate | ||
section-infoblox | ||
section-nova | ||
section-placement |