Привет.
Такая проблема. Есть скрипт, который удаляет из базы данных много записей. Для ускорения процесса использую threading. Отрегулировал pool (на сервере max_user_connections=20
и max_allowed_packet=64M
), задал pool_size=6, max_overflow=20
в create_engine
и в 5 потоков удаляю. Например для удаления 4000 id, по каждому id за один заход удаляются данные из 10 таблиц. Потому я разбиваю эти 4000 на куски по 50 id и в цикле по 5 потоков удаляю. Вроде бы исчезла проблема с max_user_connections
, так теперь постоянно куда-то пропадает сервер. Что интересно, если убрать потоки и удалять просто последовательно — всё ок, никаких проблем. До этого на тестовом сервере я удалял по 500 id за заход — тоже без проблем.
Уже и не знаю, куда копать и что делать?