MySQL “Too many connections” ошибка nova-api

Проявление

В логе /var/log/apache2/error.log регулярно появляется ошибка:

OperationalError: (1040, u'Too many connections')

При этом в ПУ horizon появляются всплывающие окна с указанием ошибки:

Error: Unable to retrieve volume project information.
Error: Unable to retrieve attachment information.
Error: Не удалось получить список дисков.

Анализ

Происходит это том случае, когда количество запросов превышает дефолтно допустимое 

Питон “слушает” запросы на порту 8774

root@controller:/home/sil/env# netstat -tulpn | grep 8774

tcp        0      0 0.0.0.0:8774            0.0.0.0:*               LISTEN      21404/python

Можно  посмотреть, сколько запросов на данный момент активно:

root@controller:/home/sil# sudo lsof -i :8774 | wc -l
20

Можно сбросить в “ноль” число активных соединений вот таким образом:

sudo service nova-api restart

Перезагрузка сервиса nova-api закрывает соединения (переводит их в состояние FIN_WAIT2 / CLOSE_WAIT.)

Можно мониторить число соединений таким скриптом:

while true;
do
     sudo lsof -i :8774 | wc -l;
     date;
     sleep 2;
done

Лечение

Исправил добавлением параметров в файле /etc/glance/glance-api.conf

[database]
connection = mysql+pymysql://glance:secret_password@10.0.10.20/glance
# aizaro add 170723 net 3 parameters (for token errors fix)
pool_timeout=10
min_pool_size=50
max_pool_size=100

aizaro@mail.ru 23.07.17