Пару недель что то лагало. По итогу настроил лог медленных запросов.
В нем:
FROM shop_product p
JOIN shop_product_features pf1
ON p.id = pf1.product_id
JOIN shop_product_features pf2
ON p.id = pf2.product_id
JOIN shop_product_features pf3
ON p.id = pf3.product_id
JOIN shop_product_features pf4
ON p.id = pf4.product_id
WHERE p.status = 1
AND p.status = 1
AND pf1.feature_id = 120 AND pf1.feature_value_id = 21766
AND pf2.feature_id = 122 AND pf2.feature_value_id = 20219
AND p.status = 1
AND pf3.feature_id = 122 AND pf3.feature_value_id = 20219
AND p.status = 1
AND p.price >= '1000';
AND pf4.feature_id = 120 AND pf4.feature_value_id = 21766
GROUP BY p.id
ORDER BY in_stock DESC,p.create_datetime DESC
LIMIT 24;
Дикое дублирование на котором mysql умирал. Сервер отдавал 504.
Уберем не нужные дубли и запрос начинает отлично работать.
Сообщил в сопровождение.
14 комментариев
Проблема сохраняется, если отключить все установленные плагины для Shop-Script? Удалось определить, на какой странице витрины или бекенда выполняется такой запрос?
Да. Все плагины отключал. Проблема остается. 52 секунды на запрос.
Вид запрос после отключения всех плагинов не меняется.
Да, известно на какой странице фронтенда выполняется запрос. Если сопровождение запросит данные могу дать доступ к сайту. Ссылку на полный бекап базы уже дал. Можете сами на локалке попробовать выполнить запрос.
Вышла новая версия магазина. Проблема так и не решена!
Ваш магазин продолжает своими запросами вешать mysql
Кстати очень интересно на каком основании у темы установлен флажок - исправлено!?
Вот из slowlog.sql запрос все в том же каталоге
Я не вижу никаких изменений в избыточности SQL кода
4 (ЧЕТЫРЕ) месяца прошло. Ничего не решено до сих пор. Повторюсь, магазин вешает MSSQL сервер! Работать невозможно.
Почитайте вот эту тему, может вам будет полезно.
Нужно создать один индекс, и по возможности переехать на другой движок таблиц (делайте на свой страх ириски). С этим уже можно будет жить.
Сомневаюсь, что в близжайшее время вебасист сменит дизайн БД.
Не помогает этот индекс.
У меня в запросе немного другая проблема.
Думаю если бы программист 4 месяца получал зарплату некорректно, он бы быстро все решил.
Косяк настолько детский что аж глаза на лоб!
Просто прекрасный ответ от службы сопровождения: "Конкретного срока для этой задачи не установлено. Будет доработано в будущих обновлениях."
есть какие-либо изменения? проблема решена?
столкнулись с такой же проблемой "медленных запросов"
Изменений почти нет. Запрос стал почти чистый (повторы p.status = 1).
Сервер не зависает. Но запрос выполняется неприемлемо долго. Mysql грузится на 100%
Что делать не знаю. Сервер быстрый, памяти много, SSD
Евгений, подскажите, нашли решение вопроса?
Нет. Я устал бороться с системой. Я не крутой админ. Хостинг на ihc.ru
Сервер, KvmVps, Тариф: SSD/8 (4 CPU / 8 ГБ RAM / 50 ГБ SSD)
Обычно запрос получения следующей страницы выполняется 1 сек. В некоторых каталогах 15-20 секунд или вываливает 504 ошибку. Почему? Я не знаю. На хостинге крутится только магазин.
Фильтры в магазине работают очень медленно. Без них все летает.
Есть большой опыт оптимизации и тонкой настройки серверов для shop-script
напишите на info@echo-company.ru свои контактные данные - вышлем коммерческое предложение