Причин может быть масса от конфига сервера, до тяжелых запросов к бд, проблемы с dns, cdn и тд
Возьмем то случай, когда ваш VPS имеет много ресурсов и настроен серьезным специалистом, а значит проблема на стороне опенкарта и плагинов, которые были установлены
Обычно первым делом включают лог тяжелых запросов. Опенкарт в момент создания таблицы выбирает тип таблиц ENGINE=MyISAM. Этот тип может блокировать таблицы, именно поэтому в логе можно встретить простейшие запросы выполняющиеся по 2+ секунды. Лучше перейти на innodb. На просторах гитхаба есть скрипт, который поможет сменить движок хранилища, а так же добавить индексы к таблицам. Кстати, индексы он добавляет всем столбцам, которые содержат подстроку "_id"
https://github.com/lilalaunesau/opencart-turbo
Но одним логом сыт не будешь и поэтому я написал решение, которое покажет время работы каждого контроллера на странице.
Предварительно желательно отключить кеширование mysql. За это отвечают такие параметры конфигурации как
query_cache_size = 0
query_cache_type = 0
С скрина, который прикреплен к этому посту можно сделать вывод, что менюшка не кешируется и грузится около 640мс
Один из моих модулей отрабатывает за 100мс, что тоже не есть хорошо, но с учетом того что на этой странице таблица из 10+ товаров, то норм
Футер тоже можно закешировать сэкономив около 300мс
Если этот пост набирает 5 комментов, то выложу это решение. Напоследок хочу сказать, что продакшн это святое и любые тесты и замеры нужно делать на дев, тест или локальном окружении под присмотром профессионалов. Если я где-то некорректно выразился, то пишите поправим
- 7
17 коментарів
Recommended Comments
Створіть аккаунт або увійдіть для коментування
Ви повинні бути користувачем, щоб залишити коментар
Створити обліковий запис
Зареєструйтеся для отримання облікового запису. Це просто!
Зареєструвати аккаунтВхід
Уже зареєстровані? Увійдіть тут.
Вхід зараз