На параметры производительности системы WNAM, которые выражаются в пиковом числе запросов авторизации в секунду, которые она может обработать, влияют следующие факторы:

  • Производительность сервера, в первую очередь число ядер CPU, их частота, поколение процессора и поддерживаемые им инструкции
  • В случае применения среды виртуализации: загруженность самого хоста, и вызванная этим конкуренция виртуальных машин за ресурсы
  • Производительность дисковой подсистемы (HDD SATA, HDD SAS, SSD, NVMe и .т.п) сервера
  • Тип используемой СУБД (MongoDB, PostgreSQL)
  • Наличие кластерной конфигурации
  • Количество правил аутентификации, авторизации, число серверов доступа, площадок
  • Текущее число эндпоинтов
  • Применяемый метод авторизации (PAP, PEAP, EAP-TLS)
  • Интервал получения сообщений RADIUS Accounting Interim

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

Работа администратора системы в веб-интерфейсе, при условии, что он не запускает формирование сложных и массивных отчетов, нагрузки на сервер не создает. Не создают её и рутинные операции по обслуживанию сервера (чистка лог-файлов, обновления и т.п.).

Из общих соображений можно рекомендовать применение более современных процессоров, дисковых носителей SSD/NVMe для базы данных, носителей SSD/HDD SAS для лог-файлов, оптимизацию числа правил аутентификации и авторизации.

Анализ поддерживаемых методов авторизации показывает, что каждый из них требует различного вовлечения ресурсов сервера, а именно:

  • Для РАР авторизации процесс занимает один RADIUS-фрейм, в ходе обработки которого происходит однократный разбор атрибутов, поиски в базе данных (правила, эндпоинты), запись в БД лога соединения (порядка 20 строк на объект). Криптография не используется. 
  • Для EAP-TLS авторизации процесс занимает порядка десяти RADIUS-фреймов (в каждом направлении), в ходе обработки каждого из которых происходит разбор атрибутов, поиски в базе данных (правила, эндпоинты), запись в БД лога соединения (порядка 50 строк на объект), а также криптографические операции проверки сертификата клиента с возможных синхронным или асинхронным запросом статуса его отозванности (возможно, с применением кэширования). Общее число фреймов зависит от длины цепочки доверия (сертификата сервера), размера ключа, дополнительных атрибутов сертификата.
  • Для PEAP авторизации процесс занимает порядка пятнадцати RADIUS-фреймов (в каждом направлении), в ходе обработки каждого из которых происходит разбор атрибутов, поиски в базе данных (правила, эндпоинты), запись в БД лога соединения (порядка 70 строк на объект), криптографические операции, проверка хэша пароля пользователя локально либо с синхронным запросом внешней службы каталога через ADCTool (возможно, с применением кэширования).

Мы оцениваем соотношение среднего времени выполнения операций авторизации для этих трех сценариев как 1:10:15, соответственно пиковые показатели производительности должны иметь обратную пропорцию.

Для оценки предельных значений производительности, которые вы можете ожидать от вашего сервера с вашими настройками мы рекомендуем применять набор инструментов, которые позволяют создать синтетическую (но приближенную к реальной) нагрузку на ваш сервер WNAM, с заданным показателем операций авторизации/секунда, заданным методом авторизации. Инструмент тестирования отобразит вам показатели производительности в терминах загрузки сервера, средней и пиковой длительности авторизации, и проценте отказа в авторизации. Порогом для сервера можно считать те предельные значения нагрузки, когда процент отказов (вследствие перегрузки сервера) будет не выше 1%, а длительность авторизации менее 0.5 сек для РАР, и 3 секунд для EAP-методов.

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

  • Утилиту eapoltest
  • Утилиту radclient
  • Интерпретатор Python 3
  • Загруженные сертификаты УЦ WNAM, и сертификаты для EAP-TLS авторизации
  • Утилиту wnam_stress_test.py , полученную у нашей службы технической поддержки

Вам необходимо модифицировать утилиту wnam_stress_test.py так, чтобы она ссылалась на ваш сервер WNAM с указанием требуемых параметров запроса.

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

Последовательно запустите утилиту с возрастающими показателями нагрузки в авторизациях в секунду, с длительностью каждого теста не менее 5 минут для выравнивания нагрузки на сервер, например:

./wnam_stress_test.py -p tls -a 10.241.200.132 -r 10 -t 300 -s secret
./wnam_stress_test.py -p tls -a 10.241.200.132 -r 20 -t 300 -s secret
./wnam_stress_test.py -p tls -a 10.241.200.132 -r 30 -t 300 -s secret
./wnam_stress_test.py -p peap -a 10.241.200.132 -r 10 -t 300 -s secret
./wnam_stress_test.py -p peap -a 10.241.200.132 -r 20 -t 300 -s secret
./wnam_stress_test.py -p peap -a 10.241.200.132 -r 30 -t 300 -s secret

Найдите предельные приемлемые показатели работы для каждого из типов теста.





  • No labels