Добрый день Коллеги !
У нас BGradius перестает обрабатывать запросы в то время, когда мы открываем mysql клиентом таблицу bgbilling.log_server_6_201111.
В логах идут ошибки: WARN [RadiusListener] RadiusListener - RadiusListener authentication queue full...
Bgbilling шлет письма: "В рамках отведенного переменными количества потоков auth.thread.count и размером очереди обработки auth.thread.queue RADIUS сервер не успеевает производить обработку авторизационных запросов.Возможная причина - загруженность базы данных."
Проблема похожа на заявленную в теме:
viewtopic.php?f=5&t=6048&hilit=auth%2AПроявление проблемы не зависит от нагрузки на сервер.
Есть четкий фактор, который приводит к проблеме и убирает проблему.
Глючное состояние проявляется при:
подключении к mysql клиентом dbForgeStudio с правами пользователя, который может выполнять только SELECT запросы и
наличии активной сессии в течении которой скачивается большое кол-во записей из таблицы log_server_6_201111
SQL запрос вызывающий ступор у BGRadius-а: select * from bgbilling.log_server_6_201111
Клиент dbForgeStudio, получая от mysql сервера данные из таблицы регулирует скорость поступления данных средствами протокола TCP. В частности, после приема определенной порции данных он анонсирует нулевой размер окна приема данных. Передача данных таблицы от mysql приостанавливается.
Пока mysql сервер не вернет все записи в таблице приложению dbForgeStudio работа Radius сервера блокируется по непонятным для нас причинам.
В то же самое время любой конкурирующий sql клиент может делать с таблицей все что угодно (insert,update,delete....). Никаких table lock с нашей стороны на таблицу мы не применяем.
Т.о. нам не понятно, как поступать, елси есть необходимость скачать таблицу log_server_6_201111 по медленному каналу при этом не заблокировав Radius сервер. Нам не понятно почему он вообще блокируется ?
p.s. При нахождении в глючном состоянии Радиус сервер тем не менее принимая AUTH запрос, выполнят скрипт предобработки и помещает данные в таблицу og_server_6_201111 но при этом не возвращает AUTH-ACCEPT до тех пор пока dbForgeStudiuo не докачает таблицу или не отцепится от базы данных.