BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
СообщениеДобавлено: 09 фев 2015, 16:07 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Сейчас в биллинге для сервиса установлено ограничение в одну сессию, но некоторые абоненты умудряются поднять сразу две сессии.

Access-Request для этих сессий приходит в одно и тоже время, поэтому, как я подозреваю, при приходе Access-Request от второй сессии первой ещё не существует, поэтому он создаёт сразу две сессии.

Проблема, собственно, в том, что биллинг не убивает вторую сессию и они так и живут длительно время. Судя по логам такие парные сессии могут жить до полутора часов.

Какой параметр покрутить, чтобы сократить время жизни таких сессий до нескольких секунд, например?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 17:26 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
У обоих сессий при этом состояние "подключено"?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 17:44 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Да, активна и подключено. Логин, реалм, мак, идентификатор, время начала - всё совпадает. Отличаются устройство (как повезёт), IP-адрес и время последней активности.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 17:50 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В выводе access.sh conlist есть обе сессии?
В логе InetAccess ошибок нет?
authorization.sessionCountCheck в конфигурации модуля не указано?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 18:16 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
В выводе "access.sh conlist" есть обе сессии.
В логе только классические "Connection not found with id".
В конфигурации authorization.sessionCountCheck нету, т. к. я не знаю, что это такое и в документации такого нет.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 18:23 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А сколько активных сессий максимум, примерно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 18:33 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
У абонентов сейчас максимум две одинаковые сессии. Но никто не мешает им настроить роутер так, чтобы было больше сессий.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 18:37 
Не в сети
Разработчик
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 19:30 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Много, больше ? тыс.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Последний раз редактировалось vkulakov 10 фев 2015, 12:57, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 19:50 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Похоже причина в том, что поток проверки на превышение кол-ва отрабатывает очень редко.

Но на всякий случай посмотрите также, есть ли в логах InetAccess строчки:
SessionCountManager - Session count 2>1. Send connection state modify event.
Перед этой строчкой должен быть вывод сессий. Желательно проверить, что одна из них примерно в это же время была сброшена.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 20:06 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
В логах такие строчки присутствуют. Вот времена появления этих строчек в последнем логе:
Код:
02-09/15:10:27
02-09/15:21:07
02-09/15:23:47
02-09/15:25:23
02-09/15:40:51
02-09/15:53:39
02-09/16:49:07

Соответствующие сессии имеют продолжительность 50 мин, 1 час, 1 час 30 мин (посмотрел всего три).

После этих строк вторая сессия реально отключается. Но после отключения второй сессии приходит Acces-Request, у которого в логах
Код:
Alive session count 2>1
Close duplicate session method 2

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

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 20:09 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Кстати, в логах нашёл двойные сессии, которые жили 20 часов.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2015, 21:20 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Что указано в radius.connection.checkDuplicate?
calling-station-id (с номера) у этих сессий разный?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 фев 2015, 12:05 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Код:
radius.connection.checkDuplicate=2

calling-station-id, естественно, одинаковый. К сессиям, где он разный, и вопросов нет.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 фев 2015, 15:39 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте переключить на новую проверку кол-ва сессий.

Для этого в конфигурации модуля нужно указать
Код:
authorization.sessionCountCheck=2
А также переместить параметр accounting.deviceTypeIds из inet-access.xml в конфигурацию модуля. Т.е. строчку в inet-access.xml <param name="accounting.deviceTypeIds" value=""/> закомментировать, а значение прописать в конфигурации модуля (это мы рекомендуем делать и в других случаях).

В конфигурации корневого устройства, где прописаны accounting.worker.1.... добавить еще один:
Код:
accounting.worker.4.thread.count=1
accounting.worker.4.sessionCount.tracking.1.delay=20
accounting.worker.4.sessionCount.tracking.1.batchSize=2000


И перезапустить InetAccess и InetAccounting.
Судя по истории все необходимые изменения уже есть в вашем билде.


Что делает authorization.sessionCountCheck=2? Он меняет логику проверки на кол-во сессий. Во-первых, проверка начинает работать независимо для разных типов соединений - это для схем DHCP + IP Subscription, когда у абонента сразу две сессии, одна DHCP и вторая с ASR - раньше нужно было указывать ограничение в две сессии, с этим же режимом нужно указывать ограничение в одну сессию - проверка идет отдельно по кол-ву DHCP-сессий и отдельно по кол-ву RADIUS-сессий (а в будущем - отдельно по кол-ву DHCPv6-сессий).
Во-вторых, проверка текущих активных сессий начинает работать не в InetAccess, а в InetAccounting.
В-третьих, можно указать worker и его параметры - как часто запускается проверка, сколько сервисов Inet проверяет за раз.


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


По поводу же переподключений абонента - попробуйте указать radius.connection.checkDuplicate=5 или radius.connection.checkDuplicate=8


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 фев 2015, 19:01 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
И я должен всё это сделать на живом биллинге??? Шутите?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 фев 2015, 19:24 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Не понял, что - всё. Всего лишь написал как нужно поменять конфиги, чтобы проверяло кол-во сессий чаще. И описал подробнее что именно меняется.
Второй вариант - обновляться на последний билд, там добавили параметры для старого режима проверки кол-ва сессий
connection.sessionCountCheck.batchSize=
connection.sessionCountCheck.delay=
Третий вариант - оставить так как есть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 фев 2015, 19:32 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Третий - лучший вариант. Скоро должны обновляться, поэтому второй тоже ничего. Первый - слишком страшно...

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 апр 2015, 16:58 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Обновил биллинг до последней сборки: сессия нормально отключается, пока всё работает замечательно. Параметры
Код:
connection.sessionCountCheck.batchSize=
connection.sessionCountCheck.delay=

не задавал - настройки по-умолчанию устраивают.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


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

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


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

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


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

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