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

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

В статье экспериментируем с нагрузкой на платформу с помощью внешнего инструмента jMeter

В этой статье мы проведем нагрузочное тестирование нашего демо, расположенного по адресу 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) и на более мощном сервере и зафиксировать результаты в виде аналогичной статьи.

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

Насколько полезной была статья?
Falcon Space, автор блога

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

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

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

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

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

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

Действует до 1 сентября 2024

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

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

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

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

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

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

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

Пример КП

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

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