Тормоза в работе сайта CS-Cart и CS-Cart Multi-Vendor

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

В общем расскажем вам очередной кейс из нашей практики.

Multi-Vendor: version
4.14.2.SP1 MULTIVENDOR RU

Запускаем очередной проект и клиент начал жаловаться на тормоза системы, что мол страница с товарами продавца грузится неприлично долго около 90 секунд с почти 11000 товаров. 10888 если быть точнее, но сути не меняет.

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

Мы смотрим у клиента запросы и ничего нового невидим, нового в плане отличительного от того что должно быть. Берем нашу демку на которой 5000000 товаров на вендоре и получаем 1,2 секунды, начинаем делать тесты на стресс, полюбили целый день на проверку модулей и кода, добрались до сервера и тут мы и заметили самое интересное отличие у нас стоит БД mysql-8.0 а у клиента mysql-5.7

Делаем дамп и разворачиваем на mysql-8.0 переключаем работу сайта и о чудо, сайт полетел.
Версия PHP 7.4.28 не менялась.

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

Скрин сохранился первичный

При формировании кэша
image

После формировании кэша на сервере
image

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

Итог смените базу на mysql-8.0 и будет вам счастье! Но пожалуйста не забывайте что если докер давно не обновлялся, то его следует сперва обновить.

4 лайка

mysql-8.0 cs-cart разве поддерживает уже? Недавно столкнулись с обратной ситуацией, так как в mysql-8.0 нет кэширования запросов, сайт тормозил. (сборка была 4.11.x)

Что такое “докер”?

Автор — если вам не сложно то сравните пожалуйста тот же самый дамп на базе 10.4.25-MariaDB. Спасибо заранее

Сравним по возможности, но задач очень много.

https://www.docker.com/ тут часть ответа

У нас mysql Ver 8.0.30-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))