Как MariaDB работает с поддержанием соединения с БД? - PullRequest
0 голосов
/ 27 сентября 2018

Я использую Peewee ORM для обновления и модификации таблицы базы данных из моего проекта python.Я установил максимальный предел подключения 15, используя:

set global max_connections = 15

для получения общего подключения. Я запускаю команду,

> select count(*) from  information_schema.processlist;

> 12

, теперь этот предел подключения равен 15, и даже если я запускаюкод для выполнения какой-то работы с БД путем открытия соединения, количество соединений увеличивается на 2

> select count(*) from  information_schema.processlist;

> 14

, теперь даже если я выполнил эту задачу, я закрываю терминал Python. Я все еще вижу общее число соединений из процесса.число в списке равно 14, кажется, что старые соединения используются повторно или что, если я запускаю ту же команду для обновления таблицы БД, с другого терминала я добавляю еще 2 соединения, но это выдает ошибку, говорящую о слишком большом количестве соединений.но первый терминал, который я открыл, все еще работает.

Я могу опубликовать код peewee, если требуется.

1 Ответ

0 голосов
/ 28 сентября 2018

Если вы используете обычный класс MySQLDatabase, то вызов .close () для соединения закроет его.

С другой стороны, если вы используете PooledMySQLDatabase, .close () перезапустит соединение спул доступных соединений.Вы можете управлять соединениями в пуле, используя следующие API: http://docs.peewee -orm.com / ru / latest / peewee / playhouse.html # PooledDatabase

...