Прочитать позже

Проведение нагрузочного тестирования через 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.

Falcon Space, автор блога

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

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

Демо решение личного кабинета

Сервис кабинетов для клиентов и менеджеров
Обслуживание заказов клиентов через личный кабинет на сайте
Демо готовых решений

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

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

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

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

на Whatsapp +7 920 954 2217

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

Пример КП

Falcon Space

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

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

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

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

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

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

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