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/ |