Нагрузочное тестирование сайта - эксперименты с каталогом демо Falcon Space

В этой статье мы проведем нагрузочное тестирование нашего демо, расположенного по адресу marketplace.web-automation.ru
Что под капотом сервера, используется 1 машина:

  • RAM 3ГБ
  • Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz
  • Windows Server, IIS 10

На машине работает около 15-20 других сайтов с небольшой нагрузкой. 

Чем будем тестировать?

Используем инструмент Apache Jmeter для проверки сайта на способность выдерживать большую нагрузку.
Тесты проведем следующие:

  • 10 пользователей одновременно с последовательным добавлением;
  • 50 пользователей одновременно с последовательным добавлением;
  • 100 пользователей одновременно с последовательным добавлением;
  • 500 пользователей одновременно с последовательным добавлением;
  • 1000 пользователей одновременно с последовательным добавлением;

Будем анализировать, как будет вести себя сайт на протяжении 10 минут при такой нагрузке.
Тестируемой страницей будет marketplace.web-automation.ru/catalog - каталог товаров.

Тестирование

Тест 1. 10 пользователей, 10 минут прогрева

Общее количество запросов 9271, по 15.4 запроса в секунду. Среднее время ответа составило 635мс, минимальное 133мс, а максимальное 7374мс.
Судя по среднему времени ответа, такая нагрузка не составила для нашего сервера никаких проблем. Увеличиваем “наплыв”.

Тест 2. 50 пользователей, 10 минут прогрева

При нагрузке в 50 пользователей средний отклик сервера составляет 3141мс, что неплохо. Отказов нет, прерываний нет.
В течение 7 минут, после набора необходимого количества, среднее время почти не изменилось, сервер такую нагрузку выдерживает без особых проблем.

Тест 3. 100 пользователей, 10 минут прогрева

Здесь снимем два скрина, первый при достижении 100 пользователей и при работе с такой нагрузкой на протяжении 5 минут.

Количество запросов 4411 с частотой 14.7 в секунду. На протяжении 5 минут, нагрузка планомерно увеличивалась до 100 пользователей.
Среднее время отклика 3168мс, нагрузка на сервер уже чувствуется, однако, отказов нет. Далее смотрим, как будет реагировать сервер следующие 5 минут
с нагрузкой в 100 пользователей.

После 5 минут прогрева среднее время отклика поднялось до 4150мс. Отказов нет, время отклика увеличилось не сильно, что показывает, что наш сайт
справляется с такой нагрузкой. Увеличиваем до 500 пользователей.

Тест 4. 500 пользователей, 10 минут прогрева.

При достижении 500 пользователей одновременно среднее время отклика составляет 14227мс, отказов нет, но сайт работает медленно. Продолжаем тест.

В течение 5 минут время ответа значительно увеличилось, 19228мс является неприемлемым ожиданием. Отказов сервера нет, но система работает очень медленно,
здесь уже нужно применять меры оптимизации (увеличивать железо в первую очередь). Проведем последний тест в 1000 пользователей.

Тест 5. 1000 пользователей, 10 минут прогрева.

За 5 минут должно собраться 1000 пользователей, снимем на это время показатели.

Как видно по скрину, нагрузка в 1000 одновременных пользователей создает серьезное задание для нашей системы. Среднее время ответа составляет 13954мс,
понаблюдаем 5 минут как будет вести сервер при такой нагрузке.

За следующие 5 минут время отклика значительно увеличилось, более того, появились отказы, сервер не справляется с такой нагрузкой -
необходимо добавлять мощности серверу либо распределять нагрузку между различными серверами.

Заключение

Исходя из проведенных тестов, мы выяснили, что пороговое (при котором среднее время ответа приемлемо для нас) значение пользователей, которые
одновременно запрашивают страницу каталога равно между 100 и 500. Учитывая, что тестируемый сервер имеет довольно скромные параметры
(3Гб RAM, CPU E5-2690 v2 @ 3.00GHz, к тому же на нем запущены еще ряд сайтов), результаты достаточно хорошие.
Для масштабирования необходимо реализовать распределение нагрузки на несколько серверов, либо увеличить мощность “железа” на сервере. 

P.S. Также мы планируем провести аналогичные тесты на обычном Windows хостинге (например, на reg.ru Win0) и на более мощном сервере и зафиксировать результаты в виде аналогичной статьи.

Если вам интересует решение по товарной площадке, смотрите статью Как создать товарную площадку.

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

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

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

Товарный маркетплейс Площадка услуг Площадка аренды CRM для B2B CRM для грузоперевозок
Демо решения можно развивать и кардинально бизнес-логику под свою предметную область

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

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

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

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

на Whatsapp +7 920 954 2217

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

Пример КП

Платформа Falcon Space

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

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

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

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

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

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

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

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