forum.bitel.ru
http://forum.bitel.ru/

BGradius перестает обрабатывать запросы
http://forum.bitel.ru/viewtopic.php?f=6&t=6103
Страница 1 из 1

Автор:  zwe12 [ 10 ноя 2011, 12:18 ]
Заголовок сообщения:  BGradius перестает обрабатывать запросы

Добрый день Коллеги !
У нас 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 не докачает таблицу или не отцепится от базы данных.

Автор:  stark [ 14 ноя 2011, 16:11 ]
Заголовок сообщения:  Re: BGradius перестает обрабатывать запросы

Может быть проблема в dbForgeStudiuo? Попробуйте другим клиентом смотреть .

Автор:  Phricker [ 14 ноя 2011, 16:13 ]
Заголовок сообщения:  Re: BGradius перестает обрабатывать запросы

Попробуйте другим клиентом (SQLyog например), или же в запросе писать LIMITы

Автор:  zwe12 [ 15 ноя 2011, 17:24 ]
Заголовок сообщения:  Re: BGradius перестает обрабатывать запросы

Корень проблемы не в dbForgeStudiuo.
Проблема воспроизводится и при не больших значениях Limit. Например "LIMIT 100".
Если эти 100 записей качать по медленному каналу 2 кб/сек ( в т.ч. другим клиентом), то проблема присутствует все время скачивания !
При тех же самых условиях если открыть, к примеру таблицу log_session_6_XXXXX то никаких конфликтов не возникает.....

Автор:  Amir [ 15 ноя 2011, 18:37 ]
Заголовок сообщения:  Re: BGradius перестает обрабатывать запросы

Что в my.cnf?

Автор:  zwe12 [ 21 ноя 2011, 11:48 ]
Заголовок сообщения:  Re: BGradius перестает обрабатывать запросы

#cat my.cnf
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
myisam-recover = BACKUP
max_connections = 800
#table_cache = 64
thread_concurrency = 20
query_cache_limit = 1M
query_cache_size = 16M
log = /var/log/mysql/mysql.log
# Error logging goes to syslog. This is a Debian improvement :)
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
skip-bdb
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/

Автор:  zwe12 [ 28 ноя 2011, 12:18 ]
Заголовок сообщения:  Re: BGradius перестает обрабатывать запросы

Проблема уходит при смене движка на INNODB.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/