10
лет в электронной коммерции
8 800 3020 886
ГлавнаяБлогОптимизация скорости работы CS-Cart

Оптимизация скорости работы CS-Cart

Ахиллесова пята всех платформ для интернет-магазинов — скорость работы. Интернет-магазины подвержены более высоким нагрузкам, чем простые сайты. Грузятся сотни картинок, применяются фильтры, работают различные онлайн-калькуляторы. В итоге страницы “подвисают”, пользователи уходят, конверсия падает.  Чтобы не допускать такого, важно выбрать хорошую платформу для интернет-магазина и следить за ее быстродействием. Эксперты Cart-Power подготовили для вас обзор наиболее частых проблем со скоростью загрузки CS-Cart и их решений. 

Немного о технической стороне работы интернет-магазина

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

Ваш потенциальный покупатель садится за компьютер (или берет в руки телефон) и набирает в строке браузера адрес интернет-магазина. Браузер в свою очередь обращается к серверу, где установлен CS-Cart. Сервер начинает обрабатывать PHP-файл, который обращается к другим PHP-файлам, подключает Smarty, LESS, исполняет файлы этих библиотек, посылает определенные запросы в MySQL, получает ответы, обрабатывает их, компилирует конечный результат и отправляет обратно браузеру. Браузер обрабатывает полученный ответ и отображает результат покупателю.

Та же самая схема срабатывает, когда покупатель кликает по разделам магазина, смотрит товары, добавляет их в корзину и оформляет заказ.

Что влияет на скорость работы интернет-магазина

  1. Скорость соединения — скорость, с которой браузер может взаимодействовать с сервером.
  2. Скорость обработки браузером информации.

Которая складывается из:

2.1. Скорости выполнения JavaScript.

2.2. Объема графики на сайте.

2.3. Количества выводимой информации на сайте.

  1. Скорость обработки информации сервером.

Которая зависит от:

3.1. Мощности сервера.

3.2. Конфигурации программного обеспечения сервера.

3.3. Скорости исполнения PHP-файлов.

3.4. Скорости исполнения Smarty-файлов.

3.5. Скорости выполнения MySQL-запросов.

3.6. Количества одновременных запросов на сервер.

Остановимся на некоторых моментах подробнее.

Скорость соединения

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

Скорость обработки браузером информации

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

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

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

Изображения заведомо большого размера

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

В данном примере на страницу подгружаются изображения размеров 3615px на 3615px.

Тема с не оптимизированным JavaScript

Очень внимательно относитесь к теме, которую собираетесь приобрести. Перед покупкой протестируйте ее в Google PageSpeed Insights и проверьте результаты. Если результаты не входят в зеленую зону, то подумайте еще раз о ее приобретении. Никакая красота не должна конкурировать с юзабилити и производительностью. Помните, что мы живем в быстро развивающемся информационном обществе, где люди практически полностью утратили способность ждать, по крайней мере загрузки страницы в своем браузере.

Скорость обработки информации сервером

Команды по расписанию

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

Кроме того, после синхронизации каталога требуется очистка кеша, что дополнительно нагружает систему.

Автоматическая очистка кеша

Страницы без кеширования тратят намного больше ресурсов, чем закешированные. И время загрузки страниц также существенно отличается. В CS-Cart есть параметр, который помогает проводить отладку магазина перед запуском, однако сильно грузит магазин. Поэтому всегда проверяйте его состояние. Им можно управлять на странице Панель администрирования — Дизайн — Темы.

Режим разработчика

По умолчанию строки кода, отвечающие за включение данного режима, расположены и закомментированы в файле config.local.php, однако бывает, что нерадивые разработчики используют данный код в самых непредсказуемых местах.

Излюбленные места для добавления режима разработчика:

  • Непосредственно тот самый config.php. Но случается, что разработчик вставляет код просто в самое начало файла, даже не удосужившись пролистнуть файл вниз и раскомментировать нужную строку.
  • config.local.php
  • init.php

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

Модули, тема, третьесторонние модификации

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

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

Как выбрать сервер?

Чтобы выбрать сервер, нужно знать следующее:

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

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

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

Почему CS-Cart тормозит?

  • Сервер недостаточно мощный.
  • Неудачная конфигурация сервера.
  • Низкая скорость передачи данных между клиентами и сервером.
  • Большое количество или неграмотно написанный код JavaScript (тема, модули, третьесторонние модификации).
  • Большое количество графики или графика больше требуемого размера.
  • Большое количество информации на странице.
  • PHP код, MySQL запросы, Smarty код (тема, модули, третьесторонние модификации).

Как вывести магазин в зеленую зону Google PageSpeed Insights?

  • Перенесите магазин на сервер с рекомендуемыми параметрами железа. Для стандартного CS-Cart 4.4.x минимум — CPU 2.4Ghz, RAM 1024MB.
  • Запросите рекомендованную конфигурацию сервера: Linux, PHP7 (ZendOpcache, Memcache, Memcached), Apache (mod_deflate), Nginx (HttpGzipModule), MySQL.
  • Сократите количество графики на страницах.
  • Сократите количество информации, отображаемой на странице.
  • Отключите или смените тему, если она использует “плохой JavaScript”, или запросите ее оптимизацию.
  • Отключите модули, которые нагружают сервер, или запросите их оптимизацию.

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

Хочу быть в курсе ecommerce событий!

Подписывайся, чтобы не пропустить новые статьи, советы, тематические исследования.

  • Содержание
Команда Cart-Power
Все статьи автора
Пожалуйста, заполните форму