Rambler's Top100


Вы

посетитель









Нагрузочные испытания АСР LANBilling


В течение июля 2006 г. были проведены нагрузочные испытания модулей RADIUS АСР LANBilling v. 1.8 (RADIUS VoIP и RADIUS DialUP/LL).

  Тесты преследовали цель определить параметры потока первичных данных (RADIUS потока) которые влияют на производительность модулей, а также выяснить числовые значение этих параметров, тем самым выявив потенциально уаязвимые участки алгоритма в проекции на производительность.

Стенд для испытаний представлял из себя сервер с процессором Intel Xeon 2.8 ГГц, памятью объемом 2 Гб, и дисковым массивом, состоящим из двух IDE дисков. На сервер была установлена ОС RH Enterprise Linux AS Edition, серверный модуль АСР LANBilling, БД MySQL 5.0.19, агент LANBilling RADIUS VoIP и NAS сервер, являющийся источником первичных данных (потока RADIUS запросов) для АСР. Основная задача NAS сервера во время испытаний заключалась в обеспечении коммутации абонентских соединений зависимости от управляющих воздействий АСР, фактически выполняя роль цифровой IP АТС.

Во время теста циклически выполнялись следующие операции: активация скрэтч карты по инициативе сервера доступа, внесение средств на расчетный счет созданного эккаунта (связки учетная запись - пользователь), проверка статуса абонента, установление сессии (телефонное соединение), завершение сессии (телефонное соединение).

В данном описании проведенных испытаний используются следующие термины и определения:

Номер абонента - телефонный номер в формате E164 ассоциированный с абонентским устройством.

Абонент - пользователь системы, обладающий номером которому предоставляются услуги телефонии.

Объем абонентской базы (AV) - количество зарегистрированных абонентов в центральном хранилище АСР. Под абонентом понимается объект "пользователь" имеющий одну учетную запись RADIUS VoIP.

Сессия - продолжающийся во времени процесс доступа абонента к услуге ограниченный моментом начала соединения (в терминах протокола RADIUS START пакет) и моментом окончания соединения (RADIUS STOP пакет).

Количество одновременно поддерживаемых сессий (CS) - количество одновременно существующих сеансов связи абонентов системы

Плотность потока авторизаций (потока запросов на оказание услуги) - скорость поступления запросов на предоставление услуги или запросов на получение (внесение) информации в хранилище данных АСР. Фактически представляет из себя количество полученных/переданных пар RADIUS Request/RADIUS response пакетов в единицу времени (здесь и далее используется характеристика авторизации в секунду APS).

Все характеристики нагрузочной способности модуля RADIUS циклически связаны между собой. Величина APS влияет на параметр CS и, как следствие, на объем абонентской базы, которую практически способен обслуживать один модуль RADIUS. В свою очередь значение параметра APS определяется значением AV - количеством активных абонентов зарегистрированных в системе. Чем больше AV, тем больший поток запросов к АСР создадут абоненты при прочих равных условиях. Соответственно, чем выше APS, тем меньшее количество одновременных сессий сможет обслужить агент, который хранит массив существующих сессий в памяти и осуществляет поиск по нему алгоритмом поиска по бинарному дереву (ограничением в данном случае является производительность сервера).

Расчет AV - предельного объема абонентской базы строился исходя из следующих допущений:

  • В среднем абонент делает не более 5 соединений в день
  • Средняя продолжительность соединения абонента не более 5 минут
  • Плотность соединений линейная и равномерно распределена в течение суток

Тесты показали корректность предположения относительно того, что значения APS и CS, связаны между собой обратной зависимостью при фиксированной производительности сервера (если предположить, что производительность сервера не ограничена зависимость была бы прямой).

Продолжительность сессии во время тестов варьировалась средствами NAS сервера в пределах от 30 сек до 10 минут.

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

  • CS - не более чем 2000
  • Среднее (расчетное) значение (AVG) APS - не более чем 25
  • Пиковое значение (PEAK) APS - не более чем 40
  • AV = 250 000

Загрузка процессора при указанных нагрузочных параметрах колебалась в пределах 35-60% от максимальной.

АСР допускает масштабирование (размножение) решения в составе агента АСР при превышении расчетной нагрузки (величин значений CS и AVG APS).

Копирование представляет собой установку дополнительных агентов на выделенных серверах оговоренной конфигурации в рамках единой сети FastEthernet/Gigabit Ethernet (уровня 2) с серверной частью АСР (сервером БД MySQL) на не пересекающихся со смежными агентами TCP портах для процессов RADIUS Accounting и RADIUS authentication.

Испытания также показали, что агент имеет ряд участков алгоритма подлежащих оптимизации и при ее проведении способен показать значение CS до 3000 (при тех же самых возможностях аппаратной части).

Сравнивая результаты проведенных испытаний с данными, полученными в результате анализа совместного использования freeRADIUS (для online аутентификации) и одного из модулей для выделенных каналов на абонентских базах создающих нагрузку в 4-5 тыс. одновременных сессий (freeRADIUS в таких случаях загружает процессор на 15-20% имея хороший запас по производительности) на один аппаратный сервер (в этих случаях AV = 15000-20000 абонентов при средней продолжительности сессий CS = 5-6 часов). Можно сделать вывод, что необходимость отслеживания состояний активных сессий - причина повышенных требований агента к аппаратуре. Любая задача online RADIUS тарификации требует наличия массива активных сессий абонентов, которого не существует в случае обычного применения freeRADIUS.

(с) Сетевые решения, 2006




В начало страницы