honey_serg
28.02.2017 20:45
0
Как уменьшить количество процессорных минут? Сайту около 4 месяцев, но с каждым днем идет увеличение нагрузки на MySQL. Пробовал оптимизацию в настройках сайта, но результата не дало. Кто-нибудь подскажет?
cdn.adm.tools/forum_message/0420/95/mysql.png
dotern
28.02.2017 22:02
0
Какой движок сайта? Нужно кешировать страницы. Резкий рост нагрузки связан с увеличением посещаемости сайта?
honey_serg
01.03.2017 05:13
0
Движок ocStore 2.1.0.1.1. Посешаемость низкая до 12
dotern
01.03.2017 10:32
0
Как-то очень странно. Может ошибка в системы мониторинга? Работоспособность сайта нормальная, страницы загружаются быстро?
Андрей
01.03.2017 10:46
2
1. Посмотрите ведется ли лог ошибок сайтом. Если да, что очень вероятно, то в этот лог записываются проблемные SQL запросы.

2. Часто "проблемным" запросом в оперкарте есть вот такой (его начало):
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c

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

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

Если это не так, то можно частично уменьшить нагрузку на базу путем включение кэширования SQL запросов в memcache. Но не факт, что запросы, где есть условие NOW (а в этом запросе такое условие есть) будут кэшироваться, что может свести к 0 эффективность задействования такого обходного пути в решении проблемы.

Итог: пробуйте разобраться с алгоритмом выборки данных с базы и найти возможность это дело оптимизировать. Может есть для опенкарта готовые плагины по решению проблемы
honey_serg
02.03.2017 10:40
0
Спасибо всем кто откликнулся! Убрал подчет товаров в категориях - помогло. Спасибо Андрею за дельный совет!
Тема закрыта.