Технологии

Нагрузочное тестирование сайта: как DIGITAL SECTOR повысил устойчивость интернет-магазина в 10 раз

ALEA-SHOP — интернет-магазин товаров для строительства и ремонта. В периоды повышенного трафика сайт мог уходить в ошибку и требовал ручного восстановления. DIGITAL SECTOR провел нагрузочное тестирование сайта, выявил причины сбоев и выполнил комплексную оптимизацию. Все работы — оптимизация и нагрузочное тестирование — заняли 3 дня. После доработок интернет-магазин получил больший запас устойчивости, снизил риск потери заказов из-за технических ошибок и стал надежнее проходить пиковые периоды.
Нагрузочное тестирование сайта интернет-магазина ALEA-SHOP

Когда рост трафика превращался в риск для интернет-магазина

ALEA-SHOP — e-commerce-проект в сфере товаров для строительства и ремонта. Через сайт покупатели выбирают материалы, переходят по каталогу, изучают условия доставки, добавляют товары в корзину и оформляют заказы. Поэтому стабильность сайта важна не только для главной страницы, а для всего пути покупателя — от выбора товара до покупки.
Сайт был передан в DIGITAL SECTOR на поддержку после разработки в другой компании. Команда начала с анализа текущего технического состояния и изменений на уровне сборки: это помогло стабилизировать работу в обычном режиме и подготовить сайт к более глубокой проверке.
Следующим шагом стало нагрузочное тестирование сайта. Нужно было понять, как интернет-магазин ведет себя при росте трафика: какие страницы открываются медленнее, где появляются ошибки и какие доработки помогут сайту стабильнее проходить пиковые периоды, особенно на выходных.

Нагрузочное тестирование сайта как способ найти причины сбоев

Что такое нагрузочное тестирование сайта

Это проверка, при которой на сайт направляют поток одновременных запросов и смотрят, как он справляется: открываются ли страницы, появляются ли ошибки, как быстро сайт отвечает и в какой момент начинает терять стабильность.

В этом проекте тестирование производительности сайта проводили в условиях, близких к пиковому трафику. Проверку выполняли на рабочем сайте: останавливать его было нельзя, поэтому время запуска согласовывали с заказчиком и проводили работы вечером, когда реальных покупателей меньше.

Почему сайт уходил в ошибки 500 при росте нагрузки

Во время первого тестирования стало видно, что при росте одновременных обращений сайт быстро теряет стабильность. Часть страниц переставала открываться и возвращала ошибку 500.

Что такое ошибка 500

Ошибка 500 - это внутренняя ошибка сервера. Для покупателя это выглядит просто: вместо нужной страницы он видит сообщение об ошибке и не может продолжить путь по сайту.

Пользователь может не открыть каталог, не перейти в карточку товара, не посмотреть условия доставки или не завершить заказ.
Самой чувствительной оказалась главная страница: на нее приходилась высокая нагрузка, и именно она одной из первых начинала работать нестабильно. Мониторинг также показывал быстрое падение сайта. После сбоя сайт не восстанавливался автоматически — команде приходилось вручную возвращать его в рабочее состояние.
Ошибки 500 на сайте интернет-магазина до оптимизации производительности
Тайминги запросов до оптимизации сайта под нагрузкой

Оптимизация производительности сайта: какие узкие места показало тестирование

Нагрузочное тестирование сайта показало, что проблема была не в одной странице или отдельной ошибке. Сайт терял устойчивость сразу в нескольких местах, поэтому одной точечной правки было недостаточно.

Backend и распределение ресурсов

Backend — это серверная часть сайта: она обрабатывает запросы пользователей, получает данные и возвращает ответ на страницу. Если на нее приходится слишком много операций или ресурсы распределены неудачно, сайт начинает отвечать медленнее и хуже выдерживает одновременные обращения.
В проекте нужно было снизить лишнюю нагрузку на серверную часть и перераспределить ресурсы так, чтобы сайт стабильнее работал при росте трафика.

Кэширование сайта и статики

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

База данных

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

Frontend и отдача страниц

Frontend — это видимая часть сайта: страницы, изображения, шрифты, скрипты и элементы интерфейса. Если они загружаются неоптимально, сайт может работать тяжелее, чем нужно, особенно когда пользователей становится больше.
Поэтому команда отдельно дорабатывала frontend и отдачу страниц: чтобы часто используемые страницы открывались стабильнее, а изображения, шрифты и внешние скрипты не создавали лишнюю нагрузку.

Как снизили нагрузку на сайт после тестирования

После нагрузочного тестирования команда DIGITAL SECTOR перешла к доработкам. Задача была не в том, чтобы исправить одну ошибку, а в том, чтобы убрать лишнюю нагрузку на сайт и дать ему больший запас устойчивости при одновременных обращениях.
Что сделали:
  • Настроили Opcache для PHP.
Opcache помогает сайту быстрее выполнять серверный код. Проще говоря, часть операций не приходится каждый раз обрабатывать заново, поэтому серверная часть работает быстрее и стабильнее.
  • Обновили middleware кэширования.
Middleware отвечает за промежуточную обработку запросов и ответов сайта. Его обновление помогло эффективнее обрабатывать повторяющиеся обращения пользователей.
  • Настроили кэширование статики через nginx.
Статика — это файлы, которые часто загружаются на страницах: изображения, стили, скрипты. Кэширование через nginx помогает быстрее отдавать эти файлы и не нагружать сайт лишними повторными операциями.
  • Устранили часть утечек памяти.
Если сайт использует память неэффективно, при росте нагрузки он быстрее теряет стабильность. Исправление таких проблем помогает сайту дольше работать без сбоев.
  • Добавили индексы в базу данных.
Индексы помогают быстрее находить нужные данные. Для интернет-магазина это важно: сайт постоянно обращается к данным о товарах, страницах и пользовательских действиях.
  • Перераспределили лимиты ресурсов для контейнеров.
Контейнеры — это изолированные части инфраструктуры, в которых работают компоненты сайта. Команда перераспределила ресурсы так, чтобы серверная часть получила больше возможностей для обработки запросов.
  • Включили SWR-кэширование страниц.
Главная, доставка, оплата, контакты, возврат, FAQ и политика конфиденциальности стали работать по принципу: сначала пользователь получает сохраненную версию страницы, а обновление данных происходит в фоне. Это снижает нагрузку и помогает быстрее открывать часто используемые страницы.
  • Оптимизировали загрузку изображений, шрифтов и внешних скриптов.
Изображения стали загружаться по мере необходимости, шрифты — подгружаться быстрее, а внешние скрипты — меньше мешать открытию страниц. Это сделало работу сайта более предсказуемой при росте трафика.
После этих доработок сайт снова проверили нагрузочным тестированием. Это было важно, чтобы подтвердить результат не на ощущениях, а на данных: интернет-магазин стал стабильнее выдерживать одновременные обращения.

Что подтвердило финальное нагрузочное тестирование сайта после оптимизации

После доработок сайт снова проверили под нагрузкой. Задача была подтвердить, что изменения работают не только на отдельных страницах, а на всем пользовательском сценарии.
Финальный тест показал:
  • Устойчивость под одновременной нагрузкой выросла в 10 раз. Это главный результат: сайт получил больший запас на периоды, когда одновременно растет число покупателей.
  • Сайт обработал 29043 запроса почти без ошибок. За весь финальный тест была зафиксирована только одна ошибка — это подтверждает, что сбои стали единичными, а не массовыми.
  • Пиковая нагрузка достигала 156 запросов в секунду, среднее значение — 71,7 запроса в секунду. Для интернет-магазина это означает, что сайт стал лучше справляться с одновременными переходами по страницам и сервисным разделам.
Мониторинг не показывал высокой нагрузки на сервер. Это важный признак запаса: после оптимизации сайт не работал на пределе и мог стабильнее проходить периоды роста трафика.

Ключевой результат: рост устойчивости в 10 раз

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

Дашборд нагрузочного тестирования сайта после оптимизации производительности
Тайминги запросов после оптимизации интернет-магазина под нагрузкой

Результаты проекта: устойчивость сайта выросла в 10 раз

ПоказательДо оптимизацииПосле оптимизацииЧто это значит для интернет-магазина
Устойчивость под одновременной нагрузкойСайт быстро терял стабильность при росте обращенийУстойчивость выросла в 10 разПоявился больший запас на выходные, акции, рекламные кампании и другие пики спроса
Ошибки при нагрузкеСтраницы уходили в ошибки 5001 ошибка за весь финальный тестМеньше риск, что покупатель увидит ошибку вместо каталога, доставки или корзины
Пиковая интенсивность запросовПервые ошибки появлялись при низкой нагрузке156 запросов в секундуСайт лучше справляется с одновременными действиями покупателей
Средняя интенсивность запросовСтабильный поток запросов приводил к сбоям71,7 запроса в секундуИнтернет-магазин надежнее обрабатывает постоянный поток переходов и действий
Среднее время ответа главной страницы3,34 секундыОколо 300 мсПокупатель быстрее попадает с главной страницы к каталогу и ключевым разделам
Максимальное время ответа главной страницы16,4 секунды1,72 секундыСнизился риск долгого ожидания при открытии сайта в момент повышенного трафика
Нагрузка на серверМониторинг фиксировал быстрое падение сайтаМониторинг не показывал высокой нагрузкиУ сайта появился технический запас для дальнейшего роста трафика

Что дает устойчивый сайт для продаж и маркетинга

Оптимизация и нагрузочное тестирование заняли 3 дня и проводились на рабочем сайте. Работа интернет-магазина не останавливалась: покупатели могли продолжать пользоваться сайтом, а команда DIGITAL SECTOR согласовывала время тестирования так, чтобы снизить влияние на реальный трафик.
После оптимизации сайт получил больший запас устойчивости, а это напрямую влияет на экономику интернет-магазина: 
  • Меньше потерь заказов из-за технических ошибок.
Если покупатель не сталкивается с ошибкой при переходе в каталог, карточку товара, доставку или корзину, выше шанс, что он дойдет до оформления заказа, а не уйдет с сайта.
  • Выше отдача от рекламного и поискового трафика.
Когда сайт нестабилен, часть оплаченного или органического трафика теряется: пользователь пришел, но не смог продолжить покупку. Стабильная работа сайта помогает эффективнее использовать вложения в рекламу, SEO, рассылки и акции.
  • Ниже риск потерь в периоды повышенного спроса.
Выходные, сезонные пики, акции и рекламные кампании — это моменты, когда трафик особенно ценен. Если сайт выдерживает рост обращений, магазин меньше рискует потерять заказы именно в самые активные периоды.
  • Меньше затрат на аварийное реагирование.
Когда сайт не требует ручного восстановления после каждого сбоя, команда тратит меньше времени на срочные технические работы и может заниматься развитием продаж, каталога, сервиса и маркетинга.
  • Меньше риск ухода покупателя к конкуренту.
В строительных и ремонтных товарах покупатель часто сравнивает предложения. Если сайт не открывается или сценарий покупки обрывается, он может быстро перейти к другому поставщику. Стабильная работа помогает удерживать спрос внутри собственного канала продаж.

Когда интернет-магазину нужно нагрузочное тестирование сайта

Зачем проводить нагрузочное тестирование до пикового трафика

Для e-commerce нагрузочное тестирование помогает заранее оценить запас устойчивости сайта: как он поведет себя во время акций, сезонного спроса, рекламных кампаний или роста органического трафика.

Проверка особенно полезна, если:
  • сайт падает при высокой нагрузке или показывает ошибки 500;
  • интернет-магазин нестабильно работает на выходных или в периоды акций;
  • после роста трафика увеличивается количество жалоб на работу сайта;
  • сайт долго отвечает при одновременных запросах;
  • команда не понимает реальный предел нагрузки;
  • планируется акция, рассылка, performance-кампания или активное SEO-продвижение;
  • заказы и обращения напрямую завязаны на сайт.
В этом кейсе результат дала не одна доработка, а комплексная работа: нагрузочное тестирование сайта, анализ ошибок и таймингов, оптимизация серверной части, кэширование, работа с базой данных, доработка frontend и повторная проверка результата. Такой подход помог не просто устранить отдельные ошибки, а повысить устойчивость сайта в реальных сценариях.

DIGITAL SECTOR и оптимизация производительности сайтов

DIGITAL SECTOR работает со сложными веб-системами, где важны стабильность, производительность, интеграции и развитие продукта на длинной дистанции. Команда анализирует сайт как единую систему: пользовательские сценарии, backend, frontend, базу данных, кэширование и инфраструктуру. Для e-commerce такая работа помогает повысить отказоустойчивость сайта, улучшить производительность интернет-магазина и снизить риск сбоев в периоды роста трафика.
Если сайт нестабильно работает при росте трафика, падает на выходных или показывает ошибки 500, начните с диагностики. DIGITAL SECTOR проведет нагрузочное тестирование сайта, найдет узкие места и предложит план оптимизации производительности под реальные задачи проекта.
Согласен