Производительность и быстродействие
От безупречной работы сервера аутентификации, зависит надежность всех подключенных к нему приложений. Нефункциональные характеристики: производительность, быстродействие, масштабируемость, отказоустойчивость, восстанавливаемость при отказах — особенно важны.
В системе аутентификации есть часы-пик, когда сразу очень много пользователей входят в приложения. Это может случаться раз в день или даже раз в год. Важно, чтобы система аутентификации хорошо справлялась с такой пиковой нагрузкой, причем даже если пиковая нагрузка действует продолжительное время.
Повышение нагрузки на систему приводит к увеличению времени отклика в обработке ответа на запрос. Важно, чтобы время обработки каждого из запросов оставалось коротким даже в моменты пиковой нагрузки, чтобы суммарная длительность процедуры входа не превышала комфортные для пользователя 1-1,5 секунды. Типичный процесс входа пользователя в приложение в среднем требует около 3-4 запросов:
- Приложение обращается к серверу аутентификации с запросом на идентификацию пользователя. Сервер отображает пользователю страницу входа.
- Браузер пользователя отправляет серверу на проверку аутентификационные данные. Сервер проверяет данные и посредством браузера возвращает приложению результат в форме промежуточного маркера безопасности (авторизационного кода).
- Приложение взаимодействует с сервером аутентификации для обмена маркера безопасности на другие маркеры (маркер доступа, маркер идентификации).
- Приложение взаимодействует с сервером аутентификации для получения атрибутов пользователя.
Полученные при измерениях значения времен отклика имеют статистический разброс. Оценить время отклика в целом можно с помощью таких показателей как:
- Cреднее время отклика — среднее арифметическое по всем запросам;
- 95-й процентиль — время, в которое уложились 95% самых быстрых запросов;
- 99-й процентиль — время, дольше которого выполнялись только 1% самых медленных запросов.
Хорошими показателями можно считать время отклика на каждый запрос в пределах до 200 мс. Тогда время всего процесса входа уложится в комфортные для пользователя 1-1,5 секунды.
При нагрузочном тестировании Blitz Identity Provider, установленного на двух серверах в конфигурации 8 Core, 8 GB RAM были получены следующие показатели:
Качественно проведенный нагрузочный тест должен включать проверку работы под нагрузкой системы в течение продолжительного периода, моделирующего дневной цикл системы. Это позволяет убедиться, что производительность не деградирует под длительным воздействием нагрузки, а также что система аутентификации хорошо адаптируется к нарастанию и убыванию нагрузки. В процессе тестирования оцениваются как время отклика, так и количество зафиксированных отказов системы в обработке запросов.
Вы можете ознакомиться с отчетом по проведенному нагрузочному тесту сервера аутентификации Blitz Identity Provider.
Ниже приведен график продолжительности выполнения одного запроса в зависимости от нагрузки. Blitz Identity Provider был установлен на двух серверах в конфигурации 8 Core, 8 GB RAM: