Проведение нагрузочного тестирования через loader.io

Сегодня мы проведем нагрузочное тестирование нашей платформы после кардинального обновления. Мы перенесли Falcon Space с платформы .NET 4.7 на .NET Core. Сам перенос мы опишем в отдельной статье (не все было так гладко, как заявляли адепты ASP.NET Core).

Исходные данные нагрузочного теста

Итак, тестировать мы будем только 1 страницу. Она берется из БД через механизм страниц.

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

В качестве сервера у нас Windows Server 2012 R2 x64 с 3Гб RAM и CPU 2 * 3 GHz и 70Гб диска (не SSD). На данном сервере работает порядка 15-20 приложений, из активно используемых - около 3.

Для теста надо зарегистрироваться на сервисе, создать хост и подтвердить права на данный домен, скопировав файл в корень хостинга.

Мы будем делать тесты по 1 минуте. Начнем с нагрузки в 100 клиентов за минуту, затем будем повышать постепенно это количество.

Наша задача - понять при каком количестве пользователей возникают серьезные проблемы (задержки, отказы в обработке запросов).

100 пользователей за 1 минуту

На тесте видите, как меняется время отклика и количество запросов. 

Среднее время 406 мс. Отказов нет.
Ссылка на тест - https://bit.ly/3hoIHoY

300 пользователей за 1 минуту

https://bit.ly/3htCica

Как видите, среднее время увеличилось, но не значительно. Отказов нет.

500 пользователей за 1 минуту

https://bit.ly/3hoLX3u

Время чуть выросло, но опять же некритично.

Пробуем 1000 пользователей за 1 минуту

https://bit.ly/2QnrvUY

Среднее время выросло до 837мс, но в целом в пределах допустимого.

2000 пользователей в минуту

https://bit.ly/3gwOjfG
Здесь возникли отказы и отклик возрос до 11 сек.

Примечания к нагрузочным тестам

1. Мы делали тест для работы платформы на простом примере: страница берется из базы, но при этом не содержит сложной бизнес-логики внутри и не обращается к куче таблиц за данными. Тесты на других примерах могут давать другие цифры и будут зависеть скорее больше от качества написанных запросов SQL и мощностей сервера, нежели от самой платформы.

2. Расход памяти процесса пула IIS в районе 120 Мб (что в целом немного и этот показатель значительно не менялся во время теста).

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

Выводы по результатам нагрузочного тестирования

Какие выводы можно сделать - базово движок Falcon Space без особых настроек по оптимизации сервера и дополнительного кеширования держит 1000 пользователей в минуту. В целом, для 99% проектов это более чем достаточно (можно примерно посчитать сколько может быть дневная посещаемость при 1000 в минуту).

Выше 1000 пользователей в минуту требуются дополнительные мощности серверу или более тонкие настройки.

В планах сделать дополнительные оптимизации и провести повторные нагрузочные тесты.

UPD. Проведен еще 1 тест на 1500 пользователей в минуту. Среднее время загрузки - около 9 сек.  Отказы начали возникать в самом конце теста - https://bit.ly/2Ev6ZPB

Если вас интересует техническая составляющая платформы, то смотрите эту статью Вводная по Falcon Space.

Автор статьи - Руслан Раянов

Cоздатель платформы Falcon Space

Как узнать бюджет/сроки своего проекта?

1. Создать концепцию проекта

Шаблон концепции

2. Отправить нам документ концепции

на Whatsapp +7 920 954 2217

3. Мы подготовим КП с детализацией по модулям

Пример КП

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Демо-стенд компонентов
На стенде можно посмотреть различные компоненты в действии: таблицы, формы, модальные окна, диаграммы, карта и т.д.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.

Если вам нравятся наши статьи, то пожалуйста подпишитесь на наш канал в Telegram - Falcon Space.
В нем мы будем публиковать обновления по статьям и другие материалы касательно нашей платформы.