Производительность

Производительность и быстродействие

От безупречной работы сервера аутентификации, зависит надежность всех подключенных к нему приложений. Нефункциональные характеристики: производительность, быстродействие, масштабируемость, отказоустойчивость, восстанавливаемость при отказах, – особенно важны.

В системе аутентификации есть часы-пик, когда сразу очень много пользователей входят в приложения. Это может случаться раз в день или даже раз в год. Важно, чтобы система аутентификации хорошо справлялась с такой пиковой нагрузкой, причем даже если пиковая нагрузка действует продолжительное время.

Повышение нагрузки на систему приводит к увеличению времени отклика в обработке ответа на запрос. Важно, чтобы время обработки каждого из запросов оставалось коротким даже в моменты пиковой нагрузки, чтобы суммарная длительность процедуры входа не превышала комфортные для пользователя 1-1,5 секунды. Типичный процесс входа пользователя в приложение в среднем требует около 3-4 запросов:

  1. Приложение обращается к серверу аутентификации с запросом на идентификацию пользователя. Сервер отображает пользователю страницу входа.
  2. Браузер пользователя отправляет серверу на проверку аутентификационные данные. Сервер проверяет данные и посредством браузера возвращает приложению результат в форме промежуточного маркера безопасности (авторизационного кода).
  3. Приложение взаимодействует с сервером аутентификации для обмена маркера безопасности на другие маркеры (маркер доступа, маркер идентификации).
  4. Приложение взаимодействует с сервером аутентификации для получения атрибутов пользователя.

Полученные при измерениях значения времен отклика имеют статистический разброс. Оценить время отклика в целом можно с помощью таких показателей как:

  • среднее время отклика – среднее арифметическое по всем запросам;
  • 95-й процентиль – время, в которое уложились 95% самых быстрых запросов;
  • 99-й процентиль – время, дольше которого выполнялись только 1% самых медленных запросов.

Хорошими показателями можно считать время отклика на каждый запрос в пределах 200-300 мс. Тогда время всего процесса входа уложится в комфортные для пользователя 1-1,5 секунды.

При нагрузочном тестировании Blitz Identity Provider, установленного на двух серверах в конфигурации 2 Core, 2 Gb RAM были получены следующие показатели:

Пиковая производительность

Среднее время отклика (при пиковой нагрузке)

Аппаратные ресурсы

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

Вы можете ознакомиться с отчетом по проведенному нагрузочному тесту сервера аутентификации Blitz Identity Provider.

Ниже приведен график продолжительности выполнения одного запроса в зависимости от нагрузки. Blitz Identity Provider был установлен на двух серверах в конфигурации 2 Core, 2 Gb RAM: