Учитывая, что у компании несколько десятков тысяч клиентов, которые постоянно делают заказы, требовалось убедиться, что настоящее решение будет способно выдерживать возникающие нагрузки в течение достаточно большого горизонта планирования. Особенно это актуально в пиковые тайм слоты, например, в понедельник утром, когда сотрудники приходят на работу и начинают формировать заказы на ближайшую неделю.
Для этого были проведены работы по синтезу базы данных, тождественной таковой базе после года работы. Вместе со специалистами заказчика был выявлен и утверждён типовой сценарий работы пользователя, а также ожидаемые количественные показатели нагрузки после года эксплуатации системы. Таким образом, был подготовлен максимально близкий к реальному экземпляр системы для тестирования.
Для проведения тестирования использовался инструмент Apache JMeter. Это популярный инструмент с открытым кодом на платформе Java, имеющий механизм плагинов и поддерживающий разные виды нагрузочного тестирования.
На тестовый сервер была установлена виртуальная машина Java актуальной версии и Apache JMeter версии 5.5.
Для реализации тестирования в конфигурацию был добавлен
механизм управления плагинами, а через него – плагины:
- 5 Additional Graphs
- BlazeMeter Random CSV Data Set
Был сконфигурирован контроллер тестирования, эмулирующий максимальную нагрузку, которую может выдержать тестовая система без заметной деградации качества обслуживания (задержка обработки запроса и ошибки обработки запросов). Кроме контроллера нагрузки оценивалось использование ресурсов на узлах веб-фермы и сервера БД.
Сервер IIS Показал достаточно равномерный график нагрузки на ядра процессора. Средняя нагрузка – 31.142%.