BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 22 июн 2025, 03:25

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




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Inet accounting.workers
СообщениеДобавлено: 15 авг 2013, 12:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Сабж.


Последний раз редактировалось Cromeshnic 15 авг 2013, 12:43, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 15 авг 2013, 12:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Вопросы:
- Как работают connection.close.timeout и connection.suspend.timeout вместе? С какого момента отсчитывается время? По-идее, сначала должен быть suspend, затем close?
- У меня был коннекшен в статусе "закрыт" (3), который не был завершен из-за косяка в настройке (не работало ни одного воркера, завершающего такие соединения). Я настроил BGInetAccounting нормально и ребутнул его. Но соединение всё ещё висит в активных в статусе "закрыт". Всего таких чуваков 67 штук. Что с ними делать? Воркеры работают, но в connection.log id этих соединений не появляется. Всё что есть в логах - до перезапуска:
Код:
08-15/11:42:31 DEBUG [accwrkr-1-p-14-t-1] connection - 5738:327716 Option set full: [2, 61]
08-15/11:43:11  INFO [accwrkr-1-p-14-t-1] connection - 5738:327716 Found error 11
08-15/11:43:11  INFO [accwrkr-1-p-14-t-1] connection - 5738:327716 Sending event to stop session...
08-15/11:43:11  INFO [rdsLstnr-p-8-t-11] connection - 5738:327716 Stopping NasConnection
08-15/11:43:11 DEBUG [accwrkr-1-p-14-t-1] connection - 5738:327716 Before calc inetOptions: 2,61
08-15/11:43:11 DEBUG [accwrkr-1-p-14-t-1] connection - 5738:327716 TariffRequest:
08-15/11:43:11 DEBUG [accwrkr-1-p-14-t-1] connection - 5738:327716 Executed TariffRequest:
08-15/11:43:11 DEBUG [accwrkr-1-p-14-t-1] connection - 5738:327716 Option set from tariff: [2, 61]
08-15/11:43:11 DEBUG [accwrkr-1-p-14-t-1] connection - 5738:327716 Option set full: [2, 61]
08-15/11:43:11  INFO [accwrkr-1-p-14-t-1] connection - 5738:327716 Found error 11
08-15/11:43:11  INFO [accwrkr-1-p-14-t-1] connection - 5738:327716 Already sent event to stop session.
08-15/11:44:01  INFO [accwrkr-1-p-14-t-1] connection - 5738:327716 Found error 11
08-15/11:44:01  INFO [accwrkr-1-p-14-t-1] connection - 5738:327716 Already sent event to stop session.
08-15/11:44:08 DEBUG [accwrkr-2-p-13-t-1] connection - 5738:327716 Flushing delta..


Может быть, это потому, что закрытые соединения не были восстановлены в память из базы?
67 таких коннектов будут вечно болтаться теперь что ли?
Это конечно мой косяк, что он не был закрыт до перезагрузки, но ведь даже при нормальной работе такое может произойти, если ребутнуть аккаунтинг до прохода соответствующего воркера?
Помог ручной сброс через монитор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 15 авг 2013, 12:41 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Что-то я вообще не понимаю.
Взял нормального живого клиента с radius-сессией. Поставил статус договора=приостановлен. Трекер шустро поставил статус сессии = "закрыта". А какой процесс должен убрать её из "текущих"? Уже прошло минут 8, а она всё ещё болтается.

Код:
08-15/15:31:03 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set full: [10, 62]
08-15/15:31:14 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set full: [10, 62]
08-15/15:31:19 DEBUG [accwrkr-2-p-13-t-1] connection - 70028:328244 Flushing delta..
08-15/15:31:25 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set full: [10, 62]
08-15/15:31:35 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set full: [10, 62]
08-15/15:31:46 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set full: [10, 62]
08-15/15:31:57 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set full: [10, 62]
08-15/15:32:07 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set full: [10, 62]
08-15/15:32:18  INFO [accwrkr-1-p-14-t-1] connection - 70028:328244 Found error 10
08-15/15:32:18  INFO [accwrkr-1-p-14-t-1] connection - 70028:328244 Sending event to stop session...
08-15/15:32:18  INFO [rdsLstnr-p-8-t-7] connection - 70028:328244 Stopping NasConnection
08-15/15:32:55 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Before calc inetOptions: 10,62
08-15/15:32:55 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 TariffRequest:
08-15/15:32:55 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Executed TariffRequest:
08-15/15:32:55 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set from tariff: [10, 62]
08-15/15:32:55 DEBUG [accwrkr-1-p-14-t-1] connection - 70028:328244 Option set full: [10, 62]
08-15/15:32:55  INFO [accwrkr-1-p-14-t-1] connection - 70028:328244 Found error 11
08-15/15:32:55  INFO [accwrkr-1-p-14-t-1] connection - 70028:328244 Already sent event to stop session.
08-15/15:32:55  INFO [accwrkr-1-p-14-t-1] connection - 70028:328244 Found error 11
08-15/15:32:55  INFO [accwrkr-1-p-14-t-1] connection - 70028:328244 Already sent event to stop session.


Настройки:

Код:
accounting.tariffication.checkPrice=0
accounting.worker.1.serv.tracking.1.batchSize=0
accounting.worker.1.serv.tracking.1.delay=30
accounting.worker.1.tariffication.1.batchSize=0
accounting.worker.1.tariffication.1.delay=60
accounting.worker.1.tariffication.1.minDeltaAmount=0
accounting.worker.1.thread.count=1
accounting.worker.1.tracking.1.batchSize=0
accounting.worker.1.tracking.1.delay=10
accounting.worker.2.flushing.1.batchSize=0
accounting.worker.2.flushing.1.delay=30
accounting.worker.2.flushing.1.minDeltaAccount=0
accounting.worker.2.flushing.1.minDeltaAmount=0
accounting.worker.2.thread.count=1
accounting.worker.3.finishing.1.batchSize=0
accounting.worker.3.finishing.1.delay=5
accounting.worker.3.thread.count=1
connection.close.timeout=1260
connection.finish.timeout=2
connection.start.fromAccept=1
connection.start.fromUpdate=1
connection.suspend.timeout=1200


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 15 авг 2013, 12:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Когда Амир выйдет из отпуска?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 15 авг 2013, 13:03 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Оооо, прекрасно!

batchSize = 0 для разных воркеров трактуется по-разному:

- SessionFlushingManager : batchSize=0 - это на самом деле 100
- SessionFinishManager : batchSize=0 - это реально 0! Т.е. он вообще не будет завершать сессии, что у меня и происходит.
- SessionTrackingWorker, ServTrackingWorker, SessionTarifficationWorker : batchSize=0 - это все сессии, чего я и ожидаю из документации

Сделайте уже одинаковую логику. Например, проверку на 0 не внутри каждого воркера, а при чтении из конфига.

inet вер. 5.2 сборка 1213 от 24.07.2013 15:33:55


Последний раз редактировалось Cromeshnic 15 авг 2013, 13:06, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 15 авг 2013, 13:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Можно заводить отдельный подфорум - "Разговоры с резиновой уточкой".

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 15 авг 2013, 14:32 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Расскажите подробнее про SessionTrackingWorker и ServTrackingWorker?
Какие события через какой проходят и как?
- Смена тарифа?
- Смена тарифных опций?
- Смена статуса договора?
- Изменение сервиса Inet (например, закрыли/открыли доступ на сервисе)?
- Изменение "баланс < лимита"?

Сюда же вопрос: зачем так сложно? Почему не вызывать изменения на девайсах сразу по событию, а не периодически чрез воркеры? Или хотя бы в дополнение к воркерам. Я понимаю, зачем сделали тарификацию, флашинг и финишинг. Dialup плохо справлялся с большим количеством радиус-пакетов, т.к. каждый вызывал запись в базу, тарификацию, проверки состояния и т.п. Но в том же dialup отлично работало мгновенное завершение сессии при закрытии договора, логина, или смены тарифа.
Тем более, часть воркеров работает также и по событиям: финишер вроде кое-где запускается мануально для закрытия отдельного соединения, сброс данных в базу вызывается явно при остановке BGInetAccounting.

Вообще, имхо, в документации недостаточно подробно описана настройка воркеров, рекомендации и монитоинг их работы. При этом с ростом нагрузки на аккаунтинг они будут являться ключевым инструментом настройки производительности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 27 авг 2013, 15:10 
Не в сети
Клиент

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
+1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 27 авг 2013, 19:43 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Меня опять терзают смутные сомнения (c) Бунша Иван Васильевич
А каким биллингом пользуется Уфанет? :) Ведь клиентов у них там совсем как не мало.... значит и рекомендации должны быть толковые... Али на кошках тренируемся?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 27 авг 2013, 19:48 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Так БГбиллингом же :) https://my.ufanet.ru/#

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 28 авг 2013, 13:21 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Документацию пишем . Будет .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 28 авг 2013, 20:56 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В 6.0 скоро будет обновление - batchSize унифицированы (0 - всё), возможность указать перерыв в миллисекундах (.delay.millis=), поддержка JMX для воркеров (статус и изменение параметров).
Будет добавлен обработчик accounting.worker.x.event.tracking для более быстрой реакции на события.

SessionTrackingWorker и ServTrackingWorker запускаются периодически, обрабатывая указанное кол-во сессий. Т.е. они не реагируют на события. Под обработкой подразумевается тарификация, получение текущих опций и проверка возможности дальше работать.

Просто реагировать на события не так просто - все равно нужно выполнять тарификацию и все остальное (например, т.к. в тарифе может быть ветка Игнорировать ошибку баланса). Плюс если просто реагировать на события (работать в потоке событий) - невозможно будет регулировать нагрузку.
Новый обработчик событий будет таким же воркером, но он обрабатывает не сессии, а очередь договоров (ограниченная по размеру), которая пополняется при получении событий. Для его конфигурации как раз может пригодиться возможность указать перерыв в миллисекундах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 29 авг 2013, 06:13 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
То, что надо. Круто :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 30 авг 2013, 17:23 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Inet accounting.workers
СообщениеДобавлено: 02 сен 2013, 07:54 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Ок, а документацию?


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

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


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

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


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

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