forum.bitel.ru http://forum.bitel.ru/ |
|
[6.1] RadiusListener authentication queue is full! http://forum.bitel.ru/viewtopic.php?f=44&t=10875 |
Страница 1 из 1 |
Автор: | Phricker [ 09 сен 2015, 13:03 ] |
Заголовок сообщения: | [6.1] RadiusListener authentication queue is full! |
Доброго времени суток. Сегодня перегружали одну из цисок, и решили проверить как поведет себя радиус если оставить подключаться абонентов as is. Собственно сразу же обнаружились проблемы в Код: access-requests per minute accept: ignore per minute access-request: Сразу после старта реквестов было ~15000, игноров в районе 13000. При этом абоненты не подключались. Прождали минут 10 для теста (хе-хе) но ничего не изменилось. Пришлось на циске обрубать интерфейсы и постепенно включать, чтобы радиус не "захлебнулся" запросами. Как то можно подкрутить подобное, чтобы оно не возникало. Код: Java Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM [1.7.0_72] /usr/java/jdk1.7.0_72/jre Runtime name: 61648@bgbilling Java endorsed dirs: /lib/endorsed:/usr/java/default/lib/endorsed OS: Linux 2.6.32-358.6.1.el6.x86_64 [amd64], file.encoding: UTF-8, user.name: root Heap sizes: current=366080k free=362250k max=5430272k Kernel version 6.1.1081 / 13.07.2015 18:42:19 Inet version 6.1.703 / 14.07.2015 21:51:17 Radius: accounting-requests per minute start: 0; stop: 0; update: 0 access-requests per minute accept: 4203; reject: 70 ignore per minute access-request: 73; accounting-update: 0 Antispam ban count: 1120; used per minute: 7073 Started: 09.09.2015 09:09:35 Uptime: 0 d 00:39:17 Memory total: 475 004 928; max: 2 863 661 056; free: 170 998 528 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 9 858 496; peek: 9 868 224 Heap memory[PS Eden Space]: max: 1 063 780 352; used: 22 499 832; peek: 892 862 464 Heap memory[PS Survivor Space]: max: 4 718 592; used: 1 441 792; peek: 69 532 520 Heap memory[PS Old Gen]: max: 2 147 483 648; used: 280 069 928; peek: 387 075 728 Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 32 369 736; peek: 32 369 736 Thread count: 312 Trees in cache: 0 Connections pool to Master status Idle: 19; Active: 6; maxActive: 300; maxIdle: 20 Код: <!-- Cоздание слушателя radius-пакетов на порту с передачей ему процессора и dataLogger --> <bean name="radiusListener" class="ru.bitel.bgbilling.modules.inet.radius.InetRadiusListener"> <constructor> <!-- Хост (интерфейс), на котором будет открыт сокет. Если пусто - на всех --> <param name="host" value=""/> <!-- Порт, на котором будет открыт сокет --> <param name="port" value="1820"/> <!-- Размер буфера приема слушателя --> <param name="recvBufferSize">512 * 1024</param> <!-- Рекомендуемый SO_RCVBUF сокета --> <param name="soRCVBUF"></param> <!-- Количество потоков-обработчиков --> <param name="threadCount">50</param> <!-- Максимальное количество пакетов в очереди на обработку --> <param name="maxQueueSize">700</param> <!-- Передача процессора --> <param name="processor">radiusProcessor</param> <!-- Режим работы, RadiusListener.Mode.authentication --> <param name="mode">RadiusListener.Mode.authentication</param> <!-- Передача dataLogger --> <param name="dataLogger">radiusDataLogger</param> </constructor> </bean> Текущий конфиг устройства Access+Accounting Код: access.group=1 accounting.deviceTypeIds=1 accounting.tariffication.checkPrice=1 accounting.worker.1.event.tracking.1.batchSize=0 accounting.worker.1.event.tracking.1.delay.millis=200 accounting.worker.1.serv.tracking.1.accountingPeriodActivate=1 accounting.worker.1.serv.tracking.1.batchSize=0 accounting.worker.1.serv.tracking.1.delay=30 accounting.worker.1.tariffication.1.batchSize=1000 accounting.worker.1.tariffication.1.delay=10 accounting.worker.1.tariffication.1.minDeltaAmount=104857600 accounting.worker.1.tariffication.2.batchSize=1000 accounting.worker.1.tariffication.2.delay=20 accounting.worker.1.tariffication.2.minDeltaAmount=10485760 accounting.worker.1.tariffication.3.batchSize=1000 accounting.worker.1.tariffication.3.delay=30 accounting.worker.1.tariffication.3.minDeltaAmount=0 accounting.worker.1.thread.count=3 accounting.worker.1.tracking.1.batchSize=1000 accounting.worker.1.tracking.1.delay=10 accounting.worker.2.flushing.1.batchSize=1000 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=5000 accounting.worker.3.finishing.1.delay=5 accounting.worker.3.thread.count=1 antispam.ban.time=900 antispam.key.attributes=User-Name,Calling-Station-Id antispam.reject.count=2 antispam.reject.per.time=120 authError.async.maxQueueSize=5000 authError.async.timeout=50 authError.update=1 client.gui.expand.device.tree=0 connection.close.timeout=1300 connection.disable.close.timeout=1300 connection.disable.suspend.timeout=900 connection.finish.timeout=5 connection.start.fromAccept=1 connection.suspend.timeout=300 connector.http=127.0.0.1:8080 connector.https=*:8443 context.path=/bgbilling contract.status.active.codes=0 contract.status.suspend.codes=2,3,4,5,6 db.maxActive=300 db.maxIdle=20 db.validationTimeout=10 deviceId=1611 nas.radius.deviceTypeIds=17,18 nas.radius.key.deviceTypeIds=2 port.admin=2005 radius.deviceTypeIds=17,18 radius.key.deviceTypeIds=2 session.split.onTariffOption=1 Понятно, что в принципе это нестандартная ситуация, но на будущее хотелось бы избежать подобного ![]() |
Автор: | Phricker [ 09 сен 2015, 15:03 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
Сейчас иос откатили, и снова пришлось ребутнуть железку Код: Radius:
accounting-requests per minute start: 0; stop: 0; update: 0 access-requests per minute accept: 4538; reject: 8060 ignore per minute access-request: 11726; accounting-update: 0 Antispam ban count: 1009; used per minute: 3532 |
Автор: | Phricker [ 09 сен 2015, 15:05 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
В самом начале после ребута было Код: Radius:
accounting-requests per minute start: 0; stop: 0; update: 0 access-requests per minute accept: 1566; reject: 8183 ignore per minute access-request: 20115; accounting-update: 0 Antispam ban count: 1080; used per minute: 1832 |
Автор: | Amir [ 09 сен 2015, 15:07 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
А сколько времени Cisco ждёт ответа на запрос? Если через конфиг, то вроде только maxQueueSize уменьшить. Посмотрим сегодня таймауты. |
Автор: | Phricker [ 09 сен 2015, 15:11 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
Amir писал(а): А сколько времени Cisco ждёт ответа на запрос? Уточню... В общем все пришло примерно к Код: Radius: accounting-requests per minute start: 0; stop: 0; update: 0 access-requests per minute accept: 8743; reject: 215 ignore per minute access-request: 6853; accounting-update: 0 Antispam ban count: 1047; used per minute: 6304 и скачет туда сюда по 1000-1500 ![]() Снова начали рубить интерфейсы, чтобы уменьшить кол-во запросов. |
Автор: | Phricker [ 09 сен 2015, 16:04 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
radius-server timeout стоит по умолчанию. Значит 5 секунд. и radius-server retransmit тоже дефолт. значит 3. Имеет смысл изменить эти значения? |
Автор: | Amir [ 09 сен 2015, 16:31 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
Не совсем понятно - timeout=5, retransmit=3 - он новый пакет через 3 секунды ожидания пошлет или как? |
Автор: | Phricker [ 09 сен 2015, 16:42 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
через 5 секунд не ответа пошлет пакет повторно. И так 3 раза повторит Если я правильно понял cisco.com ![]() Это дефолтные настройки на циске. |
Автор: | Amir [ 09 сен 2015, 16:50 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
Тут проблема в том что биллинг отвечает и отвечает в том числе на те пакеты, которые Cisco уже не примет, а Cisco уже и новые прислала по тому же абоненту. Раньше таймаут для "старого" пакета у нас был 5 секунд, если очередь заполнена. 26 августа для 6.1 было обновление, сделали 1.8 секунд, если очередь уже почти заполнена. |
Автор: | Phricker [ 09 сен 2015, 16:53 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
ок. пока timeout увеличим до 30. Проверим. И обновиться попробуем. 1.8 это значит что если очередь заполнилась - он старые пакеты не будет обрабатывать? |
Автор: | Amir [ 09 сен 2015, 16:59 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
Да - берет пакет из очереди, смотрит если очередь заполнена на ~ 8/10, а этот Access-Request был получен >1/8 секунд назад, то ничего с ним не делает, берет следующий. |
Автор: | Phricker [ 09 сен 2015, 17:06 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
Хммм... Обновлюсь вечером, т.к. если проблема с циской не решится, ее ночью будут менять. |
Автор: | Phricker [ 10 сен 2015, 05:17 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
Было получше в начале Код: access-requests per minute accept: 7079; reject: 113 ignore per minute access-request: 0; accounting-update: 0 но потом Код: access-requests per minute accept: 8522; reject: 292 ignore per minute access-request: 11137; accounting-update: 0 Очередь я правда не уменьшал. Но на циске поставили radius-server timeout 30 Так же положили часть линков, и сервер справился Код: access-requests per minute accept: 3954; reject: 708 ignore per minute access-request: 708; accounting-update: 0 прожевал очередь Код: access-requests per minute accept: 874; reject: 405 ignore per minute access-request: 0; accounting-update: 0 Подняли вторую часть линков Код: Java Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM [1.7.0_72] /usr/java/jdk1.7.0_72/jre Runtime name: 11493@bgbilling Java endorsed dirs: /lib/endorsed:/usr/java/default/lib/endorsed OS: Linux 2.6.32-358.6.1.el6.x86_64 [amd64], file.encoding: UTF-8, user.name: root Heap sizes: current=366080k free=362250k max=5430272k Kernel version 6.1.1094 / 09.09.2015 18:00:20 Inet version 6.1.710 / 09.09.2015 18:00:48 Radius: accounting-requests per minute start: 0; stop: 0; update: 0 access-requests per minute accept: 2869; reject: 424 ignore per minute access-request: 0; accounting-update: 0 Antispam ban count: 964; used per minute: 6012 Started: 09.09.2015 17:45:08 Uptime: 0 d 08:28:49 Memory total: 433 586 176; max: 2 863 661 056; free: 86 713 248 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 10 708 096; peek: 10 712 384 Heap memory[PS Eden Space]: max: 1 069 547 520; used: 9 893 760; peek: 900 202 496 Heap memory[PS Survivor Space]: max: 2 097 152; used: 851 968; peek: 70 835 800 Heap memory[PS Old Gen]: max: 2 147 483 648; used: 336 130 648; peek: 418 713 712 Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 32 576 120; peek: 32 576 120 Thread count: 308 Trees in cache: 0 Connections pool to Master status Idle: 19; Active: 3; maxActive: 300; maxIdle: 20 И затем третью (здесь максимум реквестов в минуту. потом стало падать. в игноре не было) Код: Radius:
accounting-requests per minute start: 0; stop: 0; update: 0 access-requests per minute accept: 4058; reject: 90 ignore per minute access-request: 0; accounting-update: 0 Antispam ban count: 984; used per minute: 6291 Started: 09.09.2015 17:45:08 Uptime: 0 d 08:31:06 Memory total: 440 401 920; max: 2 863 661 056; free: 70 252 032 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 10 727 424; peek: 10 728 704 Heap memory[PS Eden Space]: max: 1 066 926 080; used: 13 550 144; peek: 900 202 496 Heap memory[PS Survivor Space]: max: 3 145 728; used: 1 015 808; peek: 70 835 800 Heap memory[PS Old Gen]: max: 2 147 483 648; used: 355 589 864; peek: 418 713 712 Non-heap memory[PS Perm Gen]: max: 536 870 912; used: 32 576 448; peek: 32 576 448 Thread count: 310 Trees in cache: 0 Connections pool to Master status Idle: 19; Active: 4; maxActive: 300; maxIdle: 20 |
Автор: | Phricker [ 10 сен 2015, 05:25 ] |
Заголовок сообщения: | Re: [6.1] RadiusListener authentication queue is full! |
ну и вернулся в строй Код: access-requests per minute accept: 59; reject: 39 ignore per minute access-request: 0; accounting-update: 0 при этом кол-во реквестов падает. В принципе это нестандартная ситуация когда циска падает, так что очень редко повторяется подобное. И в принципе понятно удивление радиуса когда на него сваливается 20к+ запросов на авторизацию ![]() Но если надо подшаманить, усилить сервер и т.п. - надыть сделать. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |