BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 06 июл 2025, 01:37

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Ошибки в radius.out
СообщениеДобавлено: 01 мар 2009, 21:08 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
На границе месяца, после принудительного сброса сессий, идёт большой поток запросов к radius серверу, при этом лог radius.out забивается сообщениями след. вида.

Код:
01.03.2009 00:01:24 ERROR: RadiusPacket.addToLog(date, record_id)
01.03.2009 00:01:24 date = Sun Mar 01 00:01:24 MSK 2009
01.03.2009 00:01:24 tableName = log_server_1_200903
01.03.2009 00:01:24 record_id = 205346
01.03.2009 00:01:24 log:

Type=ACCOUNTING_REQUEST
Attributes:
        User-Name=1518
        NAS-IP-Address=172.17.1.6
        NAS-Port=255
        Service-Type=2
        Framed-Protocol=1
        Framed-IP-Address=10.0.61.173
        Acct-Input-Octets=57861663
        Acct-Output-Octets=74701893
        Acct-Status-Type=2
        Acct-Delay-Time=0
        Acct-Session-Time=8528
        Acct-Input-Packets=370841
        Acct-Session-Id=49A984D451DD00
        Acct-Authentic=1
        Acct-Terminate-Cause=1
        Acct-Output-Packets=401214
        Calling-Station-Id=10.49.15.157
        NAS-Port-Type=0


Таким образом, много сессий теряется.
Похоже надо крутить мускул на количество сокетов.

Какие рекомендации по тюннингу БД на одновременный обсчёт около 6000 сессий?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки в radius.out
СообщениеДобавлено: 02 мар 2009, 17:32 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ничего тюнить не надо ... я полагаю что это все из за этого (id модуля dialup = 1):
Код:
01.03.2009 00:00:03 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'bgbilling.log_server_1_200903' doesn't exist
01.03.2009 00:00:03     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
01.03.2009 00:00:03     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
01.03.2009 00:00:03     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
01.03.2009 00:00:03     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
01.03.2009 00:00:03     at com.mysql.jdbc.Connection.execSQL(Connection.java:3124)
01.03.2009 00:00:03     at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1149)
01.03.2009 00:00:03     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1400)
01.03.2009 00:00:03     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1314)
01.03.2009 00:00:03     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1299)
01.03.2009 00:00:03     at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:233)
01.03.2009 00:00:03     at bitel.billing.server.radius.RadiusPacket.addToLog(RadiusPacket.java:1278)
01.03.2009 00:00:03     at bitel.billing.server.processor.dialup.DialUpNASConnection.stopConnection(DialUpNASConnection.java:239)
01.03.2009 00:00:03     at bitel.billing.server.processor.dialup.DialUpNASConnectionList.stopConnection(DialUpNASConnectionList.java:176)
01.03.2009 00:00:03     at bitel.billing.server.processor.DefaultNASInfo.stopConnection(DefaultNASInfo.java:70)
01.03.2009 00:00:03     at bitel.billing.server.processor.DefaultNASList.stopConnection(DefaultNASList.java:107)
01.03.2009 00:00:03     at bitel.billing.server.processor.DefaultProcessor.accountingProcess(DefaultProcessor.java:48)
01.03.2009 00:00:03     at bitel.billing.server.processor.dialup.DialUpProcessor.accountingProcess(DialUpProcessor.java:425)
01.03.2009 00:00:03     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:147)
01.03.2009 00:00:03     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
01.03.2009 00:00:03     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
01.03.2009 00:00:03     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
01.03.2009 00:00:03     at java.lang.Thread.run(Thread.java:619)

т.е. биллинг знает что надо сбросить юзеров в конце месяца и знает когда наступает этот конец месяца, но вот почему он не создает новую таблицу хотя бы за 5 минут до этого момента - для меня этот вопрос без ответа уже очень давно :( надеюсь подобное поведение все же когда нибудь поправят ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 мар 2009, 18:07 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Точно, так оно и есть:

Начало февраля:

Код:
01.02.2009 00:00:03 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'bgbilling.log_server_1_200902' doesn't exist
01.02.2009 00:00:03     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
01.02.2009 00:00:03     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
01.02.2009 00:00:03     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
01.02.2009 00:00:03     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
01.02.2009 00:00:03     at com.mysql.jdbc.Connection.execSQL(Connection.java:3124)
01.02.2009 00:00:03     at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1149)
01.02.2009 00:00:03     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1400)
01.02.2009 00:00:03     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1314)
01.02.2009 00:00:03     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1299)
01.02.2009 00:00:03     at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:233)
01.02.2009 00:00:03     at bitel.billing.server.radius.RadiusPacket.addToLog(RadiusPacket.java:1278)
01.02.2009 00:00:03     at bitel.billing.server.processor.dialup.DialUpNASConnection.stopConnection(DialUpNASConnection.java:239)
01.02.2009 00:00:03     at bitel.billing.server.processor.dialup.DialUpNASConnectionList.stopConnection(DialUpNASConnectionList.java:176)
01.02.2009 00:00:03     at bitel.billing.server.processor.DefaultNASInfo.stopConnection(DefaultNASInfo.java:70)
01.02.2009 00:00:03     at bitel.billing.server.processor.DefaultNASList.stopConnection(DefaultNASList.java:107)
01.02.2009 00:00:03     at bitel.billing.server.processor.DefaultProcessor.accountingProcess(DefaultProcessor.java:48)
01.02.2009 00:00:03     at bitel.billing.server.processor.dialup.DialUpProcessor.accountingProcess(DialUpProcessor.java:421)
01.02.2009 00:00:03     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:147)
01.02.2009 00:00:03     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
01.02.2009 00:00:03     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
01.02.2009 00:00:03     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
01.02.2009 00:00:03     at java.lang.Thread.run(Unknown Source)


Начало марта:

Код:
01.03.2009 00:00:01 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'bgbilling.log_server_1_200903' doesn't exist
01.03.2009 00:00:01     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
01.03.2009 00:00:01     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
01.03.2009 00:00:01     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
01.03.2009 00:00:01     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
01.03.2009 00:00:01     at com.mysql.jdbc.Connection.execSQL(Connection.java:3124)
01.03.2009 00:00:01     at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1149)
01.03.2009 00:00:01     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1400)
01.03.2009 00:00:01     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1314)
01.03.2009 00:00:01     at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1299)
01.03.2009 00:00:01     at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:233)
01.03.2009 00:00:01     at bitel.billing.server.radius.RadiusPacket.addToLog(RadiusPacket.java:1278)
01.03.2009 00:00:01     at bitel.billing.server.processor.dialup.DialUpNASConnection.stopConnection(DialUpNASConnection.java:239)
01.03.2009 00:00:01     at bitel.billing.server.processor.dialup.DialUpNASConnectionList.stopConnection(DialUpNASConnectionList.java:176)
01.03.2009 00:00:01     at bitel.billing.server.processor.DefaultNASInfo.stopConnection(DefaultNASInfo.java:70)
01.03.2009 00:00:01     at bitel.billing.server.processor.DefaultNASList.stopConnection(DefaultNASList.java:107)
01.03.2009 00:00:01     at bitel.billing.server.processor.DefaultProcessor.accountingProcess(DefaultProcessor.java:48)
01.03.2009 00:00:01     at bitel.billing.server.processor.dialup.DialUpProcessor.accountingProcess(DialUpProcessor.java:421)
01.03.2009 00:00:01     at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:147)
01.03.2009 00:00:01     at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
01.03.2009 00:00:01     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
01.03.2009 00:00:01     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
01.03.2009 00:00:01     at java.lang.Thread.run(Unknown Source)


И что теперь с этим делать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 мар 2009, 19:58 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
iONE писал(а):
И что теперь с этим делать?

ждать исправления этого бага ...

может попутно исправят и это:
Код:
INFO   01.03.2009 00:00:31  [ i1021; i1021; 32371 ] DialUpNASConnection update connection..
INFO   01.03.2009 00:00:31  [ i1021; i1021; 32371 ] DialUpNASConnection set STATUS=1
INFO   01.03.2009 00:00:31  [ i1021; i1021; 32371 ] Set connection to KILL
INFO   01.03.2009 00:00:31  [ i1021; i1021; 32371 ] Month break

т.е. новый месяц уже начался, а БГБ только начал отключение ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 мар 2009, 23:23 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
А что если сыграть на опережение, создать таблиц на несколько мес. вперёд...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 мар 2009, 00:35 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
да хоть на годы :) главное - как себя поведет в этом случае БГБ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 мар 2009, 14:50 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
Таким образом, много сессий теряется.

Это не таблица сессий, а таблица radius логов с запросами по сессии. К потере сессий это не ведет.

Цитата:
Какие рекомендации по тюннингу БД на одновременный обсчёт около 6000 сессий?

Текущий рекорд у нас ~ 42 000 одновременных соединений на 90 МПД серверах с обсчетом раз в 10 минут.. К 4.6 версии создадим раздел в доке, посвященный оптимизации. Радиус и биллинг 4.6 сильно доработаны в этой области.

По несоздаваемой таблице - разберемся, я тоже фиксировал эту ошибку.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.051s | 32 Queries | GZIP : On ]