Limych / GeniBase

2 stars 2 forks source link

Органичение доступа роботам при наличие сессий от людей #86

Open a-KaDeMi-k opened 9 years ago

a-KaDeMi-k commented 9 years ago

У провайдера кол-во одновременно подключённых к базе пользователей ограничено 30-тью

Было бы неплохо придумать механизм, блокирующий доступ к базе роботам в том случае, если кол-во свободных соединений меньше, допустим, трёх (или, скажем, >50% от общего кол-ва). И обрубающий уже существующие соединения от роботов, если к базе в этот момент продолжают подключаться люди. Т.е. мы приоритетной делаем работу с БД человеком.

Limych commented 9 years ago

Идея хорошая, но как определить, сколько сейчас сессий открыто?..

a-KaDeMi-k commented 9 years ago

http://www.itfb.com.ua/blog/160-mysql-too-many-connections.html

только не знаю, есть ли у нас права на выполнение этих команд

a-KaDeMi-k commented 9 years ago

кроме KILL (BILL) всё проверил - работает

Limych commented 9 years ago

Тогда вижу два пути: 1) если права есть, блокировать новых роботов в случае если свободно менее трети потоков; 2) если прав нет, считать потоки с роботами отдельно и давать им, например, не более 3- потоков.