BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 08:45 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Написал скриптик, который собирает статистику по radius.log (Dialup / Inet) - время обработки пакетов по типам.

Предлагаю помериться сравнить показатели. Можно также приложить описание своих серверов (как тут).

Скрипт radius_counters.sh :
Код:
#!/bin/sh
awk '
BEGIN {
        auth_sum=0;
        auth_cnt=0;
        auth_min=0;
        auth_max=0;
        start_sum=0;
        start_cnt=0;
        start_min=0;
        start_max=0;
        update_sum=0;
        update_cnt=0;
        update_min=0;
        update_max=0;
        stop_sum=0;
        stop_cnt=0;
        stop_min=0;
        stop_max=0;
};

{
        if($4>'0')
        {
                if($3=="auth:")
                {
                        auth_sum+=$4;
                        auth_cnt+='1';
                        if(auth_min=='0' || auth_min>$4){auth_min=$4};
                        if(auth_max<$4){auth_max=$4}
                };
                if($3=="start:")
                {
                        start_sum+=$4;
                        start_cnt+='1';
                        if(start_min=='0' || start_min>$4){start_min=$4};
                        if(start_max<$4){start_max=$4}
                };
                if($3=="update:")
                {
                        update_sum+=$4;
                        update_cnt+='1';
                        if(update_min=='0' || update_min>$4){update_min=$4};
                        if(update_max<$4){update_max=$4}
                };
                if($3=="stop:")
                {
                        stop_sum+=$4;
                        stop_cnt+='1';
                        if(stop_min=='0' || stop_min>$4){stop_min=$4};
                        if(stop_max<$4){stop_max=$4}
                }
        }
};

END{
        if(auth_cnt=='0'){auth_cnt='0.00001'};
        if(start_cnt=='0'){start_cnt='0.00001'};
        if(update_cnt=='0'){update_cnt='0.00001'};
        if(stop_cnt=='0'){stop_cnt='0.00001'};
        print "auth (avg / min / max [cnt]):\t" auth_sum/auth_cnt "\t/ " auth_min "\t/ " auth_max "\t[" int(auth_cnt) "]";
        print "start (avg / min / max [cnt]):\t" start_sum/start_cnt "\t/ " start_min "\t/ " start_max "\t[" int(start_cnt) "]";
        print "update (avg / min / max [cnt]):\t" update_sum/update_cnt "\t/ " update_min "\t/ " update_max "\t[" int(update_cnt) "]";
        print "stop (avg / min / max [cnt]):\t" stop_sum/stop_cnt "\t/ " stop_min "\t/ " stop_max "\t[" int(stop_cnt) "]";
}'


Запускаем:
Код:
>grep "Process time" /usr/local/BGRadiusPPPoE/log/radius.log | ~/radius_counters.sh
auth (avg / min / max [cnt]):   137.727 / 1     / 735   [33]
start (avg / min / max [cnt]):  53.8    / 11    / 149   [15]
update (avg / min / max [cnt]): 39.4887 / 9     / 356   [573]
stop (avg / min / max [cnt]):   89.2632 / 11    / 251   [19]

>grep "Process time" /usr/local/BGRadiusPPPOE-ISG/log/radius.log | ~/radius_counters.sh
auth (avg / min / max [cnt]):   207.556 / 77    / 471   [9]
start (avg / min / max [cnt]):  292.444 / 66    / 619   [9]
update (avg / min / max [cnt]): 294.388 / 27    / 1383  [1254]
stop (avg / min / max [cnt]):   966.286 / 400   / 1520  [7]

>grep "Process time" /usr/local/BGInetAccounting-VPN/log/radius.log | ~/radius_counters.sh
auth (avg / min / max [cnt]):   0       / 0     / 0     [0]
start (avg / min / max [cnt]):  0       / 0     / 0     [0]
update (avg / min / max [cnt]): 1.55341 / 1     / 1277  [15251]
stop (avg / min / max [cnt]):   0       / 0     / 0     [0]

>grep "Process time" /usr/local/BGInetAccess-VPN/log/radius.log | ~/radius_counters.sh
auth (avg / min / max [cnt]):   118.941 / 1     / 58513 [78238]
start (avg / min / max [cnt]):  0       / 0     / 0     [0]
update (avg / min / max [cnt]): 0       / 0     / 0     [0]
stop (avg / min / max [cnt]):   0       / 0     / 0     [0]


У меня всё довольно хреново, особенно в модулях Dialup - тормозит база.
Всё крутится на одной машине.
МуSQL 5.1.39-log.
два Intel Xeon 2Ghz
памяти 16G 10 рэйд на SAS 15 rpm 3.0 Gb/s

Думаем ставить Percona на отдельный сервак.
В связи с этим особенно интересно посмотреть статистику snark:)


Вложения:
radius_counters.zip [593 байт]
Скачиваний: 252
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 11:00 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Код:
# grep "Process time" /usr/local/BGInetAccounting/log/radius.log | ./radius_counters.sh
auth (avg / min / max [cnt]):   0       / 0     / 0     [0]
start (avg / min / max [cnt]):  10.2719 / 5     / 18    [217]
update (avg / min / max [cnt]): 1.20487 / 1     / 21    [3036]
stop (avg / min / max [cnt]):   11.8974 / 4     / 266   [195]

Код:
# grep "Process time" /usr/local/BGInetAccess/log/radius.log | ./radius_counters.sh                                                                                                           
auth (avg / min / max [cnt]):   2.90616 / 1     / 215   [71001]                                                                                                                                               
start (avg / min / max [cnt]):  0       / 0     / 0     [0]                                                                                                                                                   
update (avg / min / max [cnt]): 0       / 0     / 0     [0]                                                                                                                                                   
stop (avg / min / max [cnt]):   0       / 0     / 0     [0]

вторые сутки в ночьную работаю , поясните чего я щас добыл?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 11:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
skyb, это статистика по времени обработки радиус-пакетов в миллисекундах.
В radius.log парсятся строчки:

Код:
>grep "Process time" /usr/local/BGRadiusPPPOE/log/radius.log | tail -15
Process time stop: 60
Process time update: 195
Process time update: 195
Process time auth: 426
Process time auth: 340
Process time update: 60
Process time start: 37
Process time update: 9
Process time auth: 0
Process time update: 64
Process time update: 116
Process time update: 51
Process time update: 36
Process time update: 27
Process time update: 63


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 11:21 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Цитата:
>grep "Process time" /usr/local/BGInetAccess/log/radius.log | /home/radius_counters.sh
auth (avg / min / max [cnt]): 30.2842 / 3 / 1651 [482]
start (avg / min / max [cnt]): 0 / 0 / 0 [0]
update (avg / min / max [cnt]): 0 / 0 / 0 [0]
stop (avg / min / max [cnt]): 0 / 0 / 0 [0]



Цитата:
>grep "Process time" /usr/local/BGInetAccounting/log/radius.log | /home/radius_counters.sh
auth (avg / min / max [cnt]): 0 / 0 / 0 [0]
start (avg / min / max [cnt]): 568.143 / 9 / 3327 [7]
update (avg / min / max [cnt]): 1.41974 / 1 / 829 [7631]
stop (avg / min / max [cnt]): 239.375 / 17 / 1512 [8]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 11:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
aiwbend писал(а):
Цитата:
>
start (avg / min / max [cnt]): 568.143 / 9 / 3327 [7]
stop (avg / min / max [cnt]): 239.375 / 17 / 1512 [8]


О, а вот это интересно. 0,5 и 0,2 секунды на старт/стоп в Inet - не очень ок, имхо. Хотя статистика всего по 7 и 8 пакетам...
У вас как с БД дела обстоят, если не секрет?
Хотя это может быть из-за скриптов...
При массовой авторизации пакеты не теряются? При ежедневном фейковом разрыве сессий?


Последний раз редактировалось Cromeshnic 19 ноя 2013, 11:46, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 11:44 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Кстати, в Inet меня очень радует обработка update за 1 мс - база вообще не используется, данные тарифицируются и пишутся периодически другими процессами.
Но даже при этом иногда есть задержки Update-ов. Скорее всего, когда update попадает на такую обработку connection-а воркером и ждёт какого-нибудь lock-а объекта. Больше объяснений не вижу.
Но это не проблема, вроде.
Вложение:
bginetacc.png
bginetacc.png [ 27.56 КБ | Просмотров: 7559 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 11:46 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Лог 100 мб.
Тот который после перезапуска радиуса для включения собственно логов
Код:
[root@bgbilling log]# grep "Process time" ./radius.log.1 | /opt/dialup.sh
auth (avg / min / max [cnt]):   9.69675 / 1     / 671   [12356]
start (avg / min / max [cnt]):  9.88985 / 4     / 368   [1153]
update (avg / min / max [cnt]): 13.2222 / 1     / 887   [40234]
stop (avg / min / max [cnt]):   21.3868 / 1     / 394   [561]


Ну и второй который собрался уже во время работы (9:27-9:45)
Код:
[root@bgbilling log]# grep "Process time" ./radius.log.1 | /opt/dialup.sh
auth (avg / min / max [cnt]):   6.35259 / 1     / 720   [10474]
start (avg / min / max [cnt]):  8.03404 / 4     / 59    [940]
update (avg / min / max [cnt]): 10.8902 / 1     / 682   [41028]
stop (avg / min / max [cnt]):   19.0642 / 1     / 96    [592]

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 14:45 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Cromeshnic писал(а):
aiwbend писал(а):
Цитата:
>
start (avg / min / max [cnt]): 568.143 / 9 / 3327 [7]
stop (avg / min / max [cnt]): 239.375 / 17 / 1512 [8]


О, а вот это интересно. 0,5 и 0,2 секунды на старт/стоп в Inet - не очень ок, имхо. Хотя статистика всего по 7 и 8 пакетам...
У вас как с БД дела обстоят, если не секрет?
Хотя это может быть из-за скриптов...
При массовой авторизации пакеты не теряются? При ежедневном фейковом разрыве сессий?


Время большое наверное из за того что пакеты отправляются на шейпер по его запросу а запрос он делает когда ему прилетает команда по snmp. У нас там карусель та еще.

БД вертится на тачке с биллингом, вроде работает все быстро)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 14:55 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
сделал еще раз стало так

Цитата:
>/usr/local/BGInetAccounting/log/radius.log | /home/radius_counters.sh
auth (avg / min / max [cnt]): 0 / 0 / 0 [0]
start (avg / min / max [cnt]): 20.6667 / 8 / 26 [9]
update (avg / min / max [cnt]): 1.19687 / 1 / 317 [8371]
stop (avg / min / max [cnt]): 26.2222 / 17 / 32 [9]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 15:51 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Обед. Кол-во сессий не увеличивалось особо.
Код:
[root@bgbilling log]# grep "Process time" ./radius.log.1 | /opt/dialup.sh
auth (avg / min / max [cnt]):   7.23619 / 1     / 598   [9704]
start (avg / min / max [cnt]):  9.12345 / 4     / 112   [1207]
update (avg / min / max [cnt]): 11.6311 / 1     / 728   [43577]
stop (avg / min / max [cnt]):   21.3769 / 1     / 616   [780]

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 17:31 
Не в сети

Зарегистрирован: 05 окт 2007, 13:36
Сообщения: 1073
Карма: 46
Код:
grep "Process time" /usr/local/BGRadiusDialup/log/radius.log | ./radius_counters.sh
auth (avg / min / max [cnt]):   14.9371 / 1     / 246   [938]
start (avg / min / max [cnt]):  7.30743 / 3     / 50    [296]
update (avg / min / max [cnt]): 12.1326 / 1     / 489   [27001]
stop (avg / min / max [cnt]):   10.5156 / 3     / 92    [256]

5.6.13-log MySQL Community Server (GPL)
два хеона, 24 гб, райд1 сас

_________________
интеграция биллинга с 1с http://bgbilling-1c.ru/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 19:25 
Не в сети
Клиент
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 20:26 
Не в сети

Зарегистрирован: 05 окт 2007, 13:36
Сообщения: 1073
Карма: 46
нет, два одинаковых сервака. один мастер, другой репликация. радиусы всякие вертятся на сервере с репликацией, база, сервисы биллинга, на мастере. но при этом оба сервака готовы, в полуручном режиме тянуть полную нагрузку.
если конкретнее, то на мастере в папке /usr/local/bgserv есть настроенные папки для радиусов и всех остальных служб(которые не работают на мастере). если сломается сервер репликации, копирую эти папки на уровень выше, запускаю сервисы. на железках меняются адреса радиус/нетфлоу серверов. и все работает. Также и на сервере репликации.
т.е. если специалист на месте, восстановление сервисов после физической или другой поломки сервера займет минут 15-30. Такой перерыв при таком серьезном сбое всех устраивает.
А вообще любой из серваков с легкостью справляется с полной нагрузкой. но раз их два, то распределил...

с мастера
Код:
top - 18:25:25 up 44 days,  3:11,  3 users,  load average: 1.27, 0.83, 0.63
Tasks: 593 total,   1 running, 592 sleeping,   0 stopped,   0 zombie
Cpu0  : 30.7%us,  2.2%sy,  0.0%ni, 64.3%id,  0.8%wa,  0.0%hi,  2.0%si,  0.0%st
Cpu1  :  2.9%us,  0.2%sy,  0.0%ni, 96.7%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  1.8%us,  0.2%sy,  0.0%ni, 98.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  1.2%us,  0.1%sy,  0.0%ni, 98.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  0.8%us,  0.1%sy,  0.0%ni, 99.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  0.6%us,  0.1%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  2.1%us,  0.3%sy,  0.0%ni, 90.5%id,  7.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  0.7%us,  0.3%sy,  0.0%ni, 99.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu8  :  0.4%us,  0.1%sy,  0.0%ni, 99.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu9  :  0.2%us,  0.0%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu10 :  0.1%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu11 :  0.1%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu12 : 10.1%us,  1.0%sy,  0.0%ni, 88.3%id,  0.5%wa,  0.0%hi,  0.1%si,  0.0%st
Cpu13 :  0.5%us,  0.2%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu14 :  0.4%us,  0.1%sy,  0.0%ni, 99.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu15 :  0.2%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu16 :  0.1%us,  0.0%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu17 :  0.1%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu18 :  0.4%us,  0.2%sy,  0.0%ni, 98.6%id,  0.8%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu19 :  0.2%us,  0.1%sy,  0.0%ni, 99.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu20 :  0.2%us,  0.0%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu21 :  0.1%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu22 :  0.1%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu23 :  0.1%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  24727840k total, 22268220k used,  2459620k free,   160968k buffers
Swap: 24575992k total,   972340k used, 23603652k free,  4161660k cached


у тебя как организовано? отказоустойчивость

_________________
интеграция биллинга с 1с http://bgbilling-1c.ru/


Последний раз редактировалось Akhmat 19 ноя 2013, 22:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Производительность Radius
СообщениеДобавлено: 19 ноя 2013, 21:40 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Ну и вечерний "пиковый" лог
Код:
[root@bgbilling log]# grep "Process time" ./radius.log.1 | /opt/dialup.sh
auth (avg / min / max [cnt]):   8.2534  / 1     / 589   [8524]
start (avg / min / max [cnt]):  8.77914 / 1     / 280   [1064]
update (avg / min / max [cnt]): 12.0245 / 1     / 756   [49345]
stop (avg / min / max [cnt]):   20.2503 / 1     / 307   [871]

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


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

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


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

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


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

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