Главная / Блог / Новости ImageCMS / Тестирование интернет-магазина на WooCommerce с 500K товарами

Тестирование интернет-магазина на WooCommerce с 500K товарами

18 апреля 18
Reading Time: 2 minutes
4 комментария
1 Star2 Stars3 Stars4 Stars5 Stars (10 votes)

В данной статье мы опишем вам наш опыт запуска теста высоконагруженного интернет-магазина с базой в 500К товаров и покажем результаты работы такого интернет-магазина.

Ранее мы писали общий тест высоконагруженного тестирования WooCommerce, вы можете с ним ознакомится в данной статье:

Нагрузочное тестирование WooCommerce — сколько продуктов может обработать движок

Исходные данные для тестирования

Адрес тестового сайта: https://highload.premmerce.com/

Количество товаров: 500000

Количество категорий: 1000

Количество брендов: 100

Количество атрибутов: 100

Активные плагины:

  • WooCommerce
  • Premmerce (Premium)
  • WP Rocket
  • Yoast seo
  • Premmerce Search
  • Premmerce WooCommerce Brands
  • Premmerce WooCommerce Product Filter
  • WooCommerce Permalink Manager
  • Premmerce WooCommerce Wishlist
  • MetaSlider

Шаблон: GrandStore.

Генерация всех демо-данных на сайт происходила с помощью плагина: Premmerce Dev Tools

Произведенные дополнительные настройки:

  • Оптимизированный фильтр за счет использования плагина Premmerce WooCommerce Product Filter
  • Установленный Rocket cache
  • Включена настройка Rocket cache sitemap.xml based cache preloading
  • Включена настройка Rocket cache Enable cache for logged in users
  • Включена настройка Premmerce — Use the same cache for all logged in users

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

Параметры сервера

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

Для данного теста мы включили следующие основные настройки:

  • Xeon® CPU E3-1275 v6 @ 3.80GHz
  • SSD
  • RAM 2GB

Результаты тестирования

После наполнения демо-данными, получился сайт следующего вида:

Google PageSpeed Insights

В первую очередь, после подогрева всего сайта с помощью кеша, мы протестировали его с помощью Google PageSpeed Insights. Результаты получили следующие:

Главная страница:

Страница категории:

Страница товара:

В результате на всех основных страницах мы получили неплохой результат.

Высоконагруженное тестирование

Для того, чтобы протестировать нагрузку в динамике при большом количестве одновременных пользователей, мы использовали сервис: https://loadimpact.com/

В настройках тестирования, мы указали 50 одновременных виртуальных пользователей.

Home page Категория Фильтр категории с 500 тов. Фильтр категории с 57000 тов
The number of all queries 284 284 272 261
The number of virtual users 50 50 50 50
The minimum page load time 380.18ms 292.95ms 1.76s 1.88s
The average page load time 594.99ms 710.92ms 2.15s 2.38s
The maximum page load time 2.1s 2.28s 3.13s 4.77s
The minimum server response time 110.19ms 120.73ms 847.94ms 903.7ms
The average server response time 181.43ms 219.49ms 1.06s 1.17s
The maximum server response time 760.3ms 1.27s 1.94s 3.14s

Как мы видим, что среднее время загрузки страницы увеличивается лишь при фильтрации до 2,4 секунды, что все-равно меньше чем нормальное время до 3 секунд.

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

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

Напомним, что мы тестировали 500К товаров в каталоге при 50К товаров в одной категории с 100 атрибутами — данные условия немного не реальны, но мы решили взять по максимуму, чтобы продемонстрировать все возможности.

Выводы

В целом наш тест лишний раз подтвердил, что высоконагруженные магазины с большими базами запускать с помощью WordPress, WooCommerce и плагинами Premmerce можно.

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

 

Comments (4)
  • Данил:

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

    1. Andrew Kruk:

      Согласен, что с живым сайтом может быть больше проблем, но к сожалению реальных проектов с такой базой товаров не так много, если нам вдруг такой подвернется, обязательно расскажем как его оптимизировали.
      Мы скорее преследовали цель развенчать мифы о том, что движок не выдержит такой большой базы. И видно, что плагины, которые работают с БД — тот же Yoast, Поиск, Фильтр, выдерживают такое количество, потому мы можем делать выводы, что большая БД не будет сильной проблемой для большей части функционала.

  • Vanger:

    А сравнивали с интернет магазином на ImageCms (CodeIgniter) и ImageCms (Woocommerce) при таком же кол-ве товаров/категорий/брендов/атрибутов фильтра?
    интересно какие нагрузки каждого сайта будут, чтобы понимать разницу в затратах на выделенный сервер..

    Основной сайт вижу так же используете на WordPress. Но тут вопросов нет.

    1. Andrew Kruk:

      Когда-то мы проводили похожее тестирование для версии 4.12, правда тестировали только с базой 100к товаров. Но там использовалось другое кэширование, совсем другие результаты быстродействия показывал шаблон, не было столько атрибутов у товаров и тд, так что эти два анализа довольно тяжело сравнивать. Но вот статья, если интересно:
      https://www.imagecms.net/blog/news/nagruzochnoe-testirovanie-imagecms-shop

      Мы никогда не поднимали магазин на 500к товаров на 4х версии, потому нам сложно с точностью сказать, какие затраты на сервер будут.
      Но по ощущениям, версия на Woo без танцов с бубном и без особо серьезного железа выдерживает 500к товаров, пообещать, что такой же тест пройдет 4х версия, мы не можем. Скорее всего на 4х версии поднять 500к будет реально, но с железом нужно будет серьезно заморочиться и вряд ли выдаст такую же скорость, как 5х версия.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Более 3000 запущенных проектов

Вместе с нами многие уже развивают свой бизнес! Смотреть все отзывы
Хочу выразить большую благодарность коллективу компании "ImageCMS" а именно Ивану и Марии! Во время выбора компании проводил переговоры с 7 различными организациями, Иван единственный кто смог адекватно объяснить и подсказать всю необходимую информацию для принятия решения. В итоге результат более чем на 100% соответствует ожиданиям, а во много их даже превосходит!
Перепробовав много CMS (opencart, Битрикс) и др. Мы увидим, как много в каждой из них недостатков. Где-то или очень сложно или очень дорого кастомизировать. Работая маркетологом, могу заверить, что в ImageCMS большинство нужны "фич" реализовано из коробки, без дополнительных надстроек. Посмотрев демо версию новой версии движка, был приятно удивлен скоростью работы (ооочень важно).
За время сотрудничества компания показала себя в качестве ответственного подрядчика, быстро воплотив в жизнь удобный интернет-магазин с учетом всех наших пожеланий.
Работой доволен. Отвечают всегда быстро и по сути, остаются только приятные впечатления от общения. Пара слов о новом движке: Быстро, красиво и интуитивно понятно. Полностью оправдывает вложенные средства. Рекомендую.
Доволен. Скрипт считаю перспективным. Считаю, что ваш коллектив работает на опережение: ваше предложение было оптимальным по цене/качеству.
Опертивная и четкая работа, своевременое предоставление дополнительных консультаций по работе с административной частью. Созданным магазином довольна. Рекомендую этот движок!