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

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

Пробуем тестировать нагрузку для страниц сайта после перехода на платформу .NET Core

Сегодня мы проведем нагрузочное тестирование нашей платформы после кардинального обновления. Мы перенесли 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

Смотреть демо

F-CRM + Site
Сайт для компании в виде лендингов + встроенная CRM для обработки заказов на услуги.
Falcon Auction Площадка услуг
Заказ услуг исполнителей через площадку.
Falcon Service Кабинеты для клиентов
Обслуживание заказов клиентов через личный кабинет на сайте
Акция

20% скидка на создание ТЗ для учетных систем

Для учетных систем действует скидка 20% на создание технического задания на проект.

Действует до 1 марта 2025

Подать заявку

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

1. Создать концепцию проекта в личном кабинете

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

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

Отправка идет через личный кабинет менеджеру.

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

Пример КП

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Если видео Youtube плохо грузится, то попробуйте найти видео в ВК видео на канале Falcon Space
Сайт использует Cookie. Правила конфиденциальности OK
Подождите...