forum.bitel.ru http://forum.bitel.ru/ |
|
Производительность Radius http://forum.bitel.ru/viewtopic.php?f=19&t=8695 |
Страница 1 из 1 |
Автор: | Cromeshnic [ 19 ноя 2013, 08:45 ] | ||
Заголовок сообщения: | Производительность Radius | ||
Написал скриптик, который собирает статистику по 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-а ![]()
|
Автор: | skyb [ 19 ноя 2013, 11:00 ] |
Заголовок сообщения: | Re: Производительность Radius |
Код: # 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] вторые сутки в ночьную работаю , поясните чего я щас добыл? |
Автор: | Cromeshnic [ 19 ноя 2013, 11:04 ] |
Заголовок сообщения: | Re: Производительность Radius |
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 |
Автор: | aiwbend [ 19 ноя 2013, 11:21 ] |
Заголовок сообщения: | Re: Производительность Radius |
Цитата: >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] |
Автор: | Cromeshnic [ 19 ноя 2013, 11:36 ] |
Заголовок сообщения: | Re: Производительность Radius |
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:44 ] |
Заголовок сообщения: | Re: Производительность Radius |
Кстати, в Inet меня очень радует обработка update за 1 мс - база вообще не используется, данные тарифицируются и пишутся периодически другими процессами. Но даже при этом иногда есть задержки Update-ов. Скорее всего, когда update попадает на такую обработку connection-а воркером и ждёт какого-нибудь lock-а объекта. Больше объяснений не вижу. Но это не проблема, вроде. Вложение:
|
Автор: | Phricker [ 19 ноя 2013, 11:46 ] |
Заголовок сообщения: | Re: Производительность Radius |
Лог 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] |
Автор: | aiwbend [ 19 ноя 2013, 14:45 ] |
Заголовок сообщения: | Re: Производительность Radius |
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. У нас там карусель та еще. БД вертится на тачке с биллингом, вроде работает все быстро) При фейковом точно сказать не могу, врядли. а вот когда должников отключаем в начале месяца то бывает, и терялись только когда днем это руками делал, причину не выяснял. Написал аларм на поиск внешнего трафика на закрытых договорах, перебиваемся им пока. Конечно хотелось бы выяснить причину почему такое происходит, хоть и крайне редко. |
Автор: | aiwbend [ 19 ноя 2013, 14:55 ] |
Заголовок сообщения: | Re: Производительность Radius |
сделал еще раз стало так Цитата: >/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] |
Автор: | Phricker [ 19 ноя 2013, 15:51 ] |
Заголовок сообщения: | Re: Производительность Radius |
Обед. Кол-во сессий не увеличивалось особо. Код: [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] |
Автор: | Akhmat [ 19 ноя 2013, 17:31 ] |
Заголовок сообщения: | Re: Производительность Radius |
Код: 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 сас |
Автор: | Cromeshnic [ 19 ноя 2013, 19:25 ] |
Заголовок сообщения: | Re: Производительность Radius |
Akhmat, на одной машине все крутится? |
Автор: | Akhmat [ 19 ноя 2013, 20:26 ] |
Заголовок сообщения: | Re: Производительность Radius |
нет, два одинаковых сервака. один мастер, другой репликация. радиусы всякие вертятся на сервере с репликацией, база, сервисы биллинга, на мастере. но при этом оба сервака готовы, в полуручном режиме тянуть полную нагрузку. если конкретнее, то на мастере в папке /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 у тебя как организовано? отказоустойчивость |
Автор: | Phricker [ 19 ноя 2013, 21:40 ] |
Заголовок сообщения: | Re: Производительность Radius |
Ну и вечерний "пиковый" лог Код: [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] |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |