Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Долго прогружается сайт - не пойму почему


 Share

Recommended Posts

Здравствуйте!

 

сайт:

http://equip-trade.com/

 

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

 

Не могу пока понять, в чем конкретно может быть причина!?

 

Грешу больше на базу данных mysql, так как если сделать запрос к стандартному гугл сайтмап:

http://equip-trade.com/index.php?route=extension/feed/google_sitemap

то сайт просто подвисает и через некоторое время ошибка появляется 504 и т.д. Причем при запросе к сайтмап. если что-то просто нажать в админке, то аналогично все виснет и через некоторое время и там и там 504 ошибка!

 

Плюс если переходить на конкретный товар, то вроде быстро переходит, но если переходить в категории в которых много товаров, то скорость загрузки просто ужасная!!!

 

Подскажите пожалуйста, в чем может быть причина!?) Правильная ли я подозреваю, что косяк в mysql или же в чем-то еще!?)

Link to comment
Share on other sites


11 минут назад, MFX сказал:

Здравствуйте!

 

сайт:

http://equip-trade.com/

 

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

 

Не могу пока понять, в чем конкретно может быть причина!?

 

Грешу больше на базу данных mysql, так как если сделать запрос к стандартному гугл сайтмап:

http://equip-trade.com/index.php?route=extension/feed/google_sitemap

то сайт просто подвисает и через некоторое время ошибка появляется 504 и т.д. Причем при запросе к сайтмап. если что-то просто нажать в админке, то аналогично все виснет и через некоторое время и там и там 504 ошибка!

 

Плюс если переходить на конкретный товар, то вроде быстро переходит, но если переходить в категории в которых много товаров, то скорость загрузки просто ужасная!!!

 

Подскажите пожалуйста, в чем может быть причина!?) Правильная ли я подозреваю, что косяк в mysql или же в чем-то еще!?)

 

Начните с обновления ocfilter.
Он в последней версии быстрый.

Link to comment
Share on other sites


12 минут назад, markimax сказал:

Полная жесть, 6 секунд TTFB
Полный суп-набор Journal 2

 

1498401692.jpg

 

Тема july использована с ее пакетом входящих дополнений! Из дополнительных модулей: фильтр товаров OCFilter, Простая регистрация и заказ Simple, поиск Ajax Live Search, 14 дневная CSV Price Pro import/export 4. Более ничего нет! Все установлено на чистый движок.

 

По этому и стало интересно, почему может тормозить!

 

"6 секунд TTFB это быстро" - я про товар имел ввиду!) Категории тоже тормозят!))

Edited by MFX
Link to comment
Share on other sites


4 минуты назад, Yoda сказал:

 

Начните с обновления ocfilter.
Он в последней версии быстрый.

Мне примерно месяц назад автор модуля его устанавливал, вроде последнюю версию!) Но тут на главной тормозит жуть, не доходя до модуля!

Link to comment
Share on other sites


2 минуты назад, MFX сказал:

Мне примерно месяц назад автор модуля его устанавливал, вроде последнюю версию!) Но тут на главной тормозит жуть, не доходя до модуля!

Fatal error Stack trace: #0 /home/..../public_html/system/lightning/beta.php(1)

Может lightning  лицензию  с фронта запрашивает
Там в теме автор писал что нашел критичный баг - срочно обновиться

Link to comment
Share on other sites

9 минут назад, MFX сказал:

По этому и стало интересно, почему может тормозить!

Да, главная тоже тормозит безбожно

 

Спойлер

6552199163.jpg

 

Link to comment
Share on other sites

4 минуты назад, markimax сказал:

Fatal error Stack trace: #0 /home/..../public_html/system/lightning/beta.php(1)

Может lightning  лицензию  с фронта запрашивает
Там в теме автор писал что нашел критичный баг - срочно обновиться

Автор отписал что там тестовая версия, она еще 6 дней должна работать(так как вчера было 7 дней зелененьких)

Я его только вчера устанавливал, так как написано было что оптимизирует сайт. Но хренушки, сайт как работал без него, так и с ним же работает одинаково долго! Да и я его отключил, так как он начал ошибки выдавать при переходах в категории и товары(ну и на главной то появлялись ошибки, то нет) - в итоге я решил его не включать!)

 

Так же установил: Minify

 

Но с его сжатием css и js тоже никакого результата не получил!

 

Link to comment
Share on other sites


4 минуты назад, markimax сказал:

Да, главная тоже тормозит безбожно

 

  Скрыть контент

6552199163.jpg

 

Это я еще картинки урезал. До этого 5-8 секунд было!) Все вроде сделал, чтобы ускорить загрузку. Но все равно, неважно что делаю, тормоза остаются одинаковыми. По этому и грешу на mysql

Edited by MFX
Link to comment
Share on other sites


47 минут назад, MFX сказал:

Это я еще картинки урезал. До этого 5-8 секунд было!) Все вроде сделал, чтобы ускорить загрузку. Но все равно, неважно что делаю, тормоза остаются одинаковыми. По этому и грешу на mysql

 

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

 

Пару недель назад в магазине на одном очень популярном шаблоне  возникла проблема с полным падением системы. Когда начали смотреть, оказалась фатальное стечение обстоятельств - из 1с приехала отрицательный параметр в таблицу категорий и при формировании дерева меню через for!  (не foreach)  попытка построить набор уходила в бесконечный цикл. Вероятность что код шаблона с использованием for  и инкрементального индекса пересечется с косыми данными из 1с - стремится к нулю. Однако трое суток ушло на выявление причин.

 

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

И скорее всего таки да вы правы это база.
А почему так - потому что у вас в категории нейтральное оборудование к примеру 6 к товаров (Показано с 1 по 25 из 6169 (всего 247 страниц)) а для одной категории - это очень много, так как при выборке данных идет обьединение 5-7 таблиц и потом сортировка по lcase(pd.name) - соответсвенно осуществляется проход по всем записям таблицы product_description и особо тут индексами не поможешь.

Точнее поможешь, но это не точно.

Так что по хорошему надо подбирать окружение тюнить базу ну и все остальное приводить в порядок.

Link to comment
Share on other sites


Для начала, установите какой-нибудь отладчик MySQL запросов (вложил свой). 4-6к товаров в категории далеко не критичная масса.

Да, самые прожорливые запросы окажутся такого вида

 

Спойлер
SELECT p.product_id,
(SELECT AVG(rating) AS total
FROM review r1
WHERE
   r1.product_id = p.product_id AND
   r1.status = '1'
GROUP BY r1.product_id)
 AS rating,
(SELECT price
FROM product_discount pd2
WHERE
   pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW()))
ORDER BY pd2.priority ASC, pd2.price ASC
LIMIT 1)
 AS discount,
(SELECT price
FROM product_special ps
WHERE
   ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC
LIMIT 1)
 AS special
FROM product_to_category p2c
LEFT JOIN product p ON (p2c.product_id = p.product_id)
LEFT JOIN product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE
   pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '64'
GROUP BY p.product_id
ORDER BY p.sort_order ASC, LCASE(pd.name) ASC
LIMIT 0,18

 

 

но выполнятся они должны в нормальных условиях до 0,4 сек, а таких запросов на подгрузку страницы категории - до 2-х.

 

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

И еще, это может быть разросшийся файл логов или кэша. Удалите файлы логов и кэша.

Отладка нужна.

 

 

query-log-opencart-2.zip

Link to comment
Share on other sites

42 минуты назад, SooR сказал:

Для начала, установите какой-нибудь отладчик MySQL запросов (вложил свой). 4-6к товаров в категории далеко не критичная масса.

Да, самые прожорливые запросы окажутся такого вида

 

  Скрыть контент

SELECT p.product_id, 
(SELECT AVG(rating) AS total 
FROM vk_review r1 
WHERE
   r1.product_id = p.product_id AND
   r1.status = '1' 
GROUP BY r1.product_id)
 AS rating, 
(SELECT price 
FROM vk_product_discount pd2 
WHERE
   pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) 
ORDER BY pd2.priority ASC, pd2.price ASC 
LIMIT 1)
 AS discount, 
(SELECT price 
FROM vk_product_special ps 
WHERE
   ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) 
ORDER BY ps.priority ASC, ps.price ASC 
LIMIT 1)
 AS special 
FROM vk_product_to_category p2c 
LEFT JOIN vk_product p ON (p2c.product_id = p.product_id) 
LEFT JOIN vk_product_description pd ON (p.product_id = pd.product_id) 
LEFT JOIN vk_product_to_store p2s ON (p.product_id = p2s.product_id) 
WHERE
   pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '64' 
GROUP BY p.product_id 
ORDER BY p.sort_order ASC, LCASE(pd.name) ASC 
LIMIT 0,18

 

 

но выполнятся они должны в нормальных условиях до 0,4 сек, а таких запросов на подгрузку страницы категории - до 2-х.

 

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

Еще вопрос - а в админке как?

И еще, это может быть разросшийся файл логов или кэша. Удалите файлы логов и кэша.

Отладка нужна.

 

 

query-log-opencart-2.zip

6к товаров с зажатыми key-buffer и sort_buffer, с заполненной таблицей discount и на общем количестве в 20-25к записей в таблицах товаров - это не 0.4, а 2-3-4.

Link to comment
Share on other sites

А какой модуль есть, с автоматической генерацией урлов!? А то ручками там очень много надо товаров(категорий и производителей) придется редактировать...

 

вопрос: Если установить модуль подгрузки товаров при скролинге(а не как сейчас переключением страниц) - это может помочь(сократит ли обращения к базе!?!?

 

Попробовал еще пару действий, вроде по шустрее стал работать сайт(хотя может мне это только кажется, так как весь день насилую себя и сайт) - Посмотрите пожалуйста, стал ли сайт быстрее загружаться!?)

Link to comment
Share on other sites


1 час назад, SooR сказал:

Для начала, установите какой-нибудь отладчик MySQL запросов (вложил свой).

  Показать контент

SELECT p.product_id,
(SELECT AVG(rating) AS total
FROM review r1
WHERE
   r1.product_id = p.product_id AND
   r1.status = '1'
GROUP BY r1.product_id)
 AS rating,
(SELECT price
FROM product_discount pd2
WHERE
   pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW()))
ORDER BY pd2.priority ASC, pd2.price ASC
LIMIT 1)
 AS discount,
(SELECT price
FROM product_special ps
WHERE
   ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC
LIMIT 1)
 AS special
FROM product_to_category p2c
LEFT JOIN product p ON (p2c.product_id = p.product_id)
LEFT JOIN product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE
   pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '64'
GROUP BY p.product_id
ORDER BY p.sort_order ASC, LCASE(pd.name) ASC
LIMIT 0,18

 

Отладка нужна.

 

 

query-log-opencart-2.zip

Установил.)

 

1 час назад, SooR сказал:

И еще, это может быть разросшийся файл логов или кэша. Удалите файлы логов и кэша.

Отладка нужна.

Чистильщик кэша и логов  установил его, вроде чистит все!)

 

 

Link to comment
Share on other sites


7 минут назад, MFX сказал:

Установил.)

Что показывает (на фронте, в подвале, будучи залогиненым в админке)?

Link to comment
Share on other sites

Вот сейчас с хрома кто-то(не я) проверял эту ссылку http://equip-trade.com/index.php?route=extension/feed/google_sitemap

Обрабатывался запрос 362 секунды и потом ушел в ошибку.

 

Аналогично у меня при переходе что на http://equip-trade.com/index.php?route=extension/feed/google_sitemap  что на http://equip-trade.com/index.php?route=extension/feed/yandex_sitemap

Тоже виснет и в ошибку уводит!

 

Вопрос, а может тут есть связь!?

Link to comment
Share on other sites


2 минуты назад, SooR сказал:

Что показывает (на фронте, в подвале, будучи залогиненым в админке)?

А где именно!? Просто в админке ничего не показывает, в модуле фильтра тоже. Где смотреть уж!?)

Link to comment
Share on other sites


Только что, MFX сказал:

А где именно!? Просто в админке ничего не показывает, в модуле фильтра тоже. Где смотреть уж!?)

 

Под футером, на главной странице сайта, например.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

32 минуты назад, SooR сказал:

 

Под футером, на главной странице сайта, например.

 

Все содержимое надо скинуть или только количество запросов со временем!? (попробовал все содержимое скинуть, на меня форум заругался и не давал ничего сделать, пока куки не почистил)

 

Главная:

Всего запросов: 678, общее время запросов: 1.154 сек.

 

Категория:

Всего запросов: 317, общее время запросов: 1.093 сек.

 

Подкатегория:

Всего запросов: 310, общее время запросов: 0.246 сек.

 

Товар:

Всего запросов: 394, общее время запросов: 0.268 сек.

 

Статья:

Всего запросов: 39, общее время запросов: 0.028 сек.

 

Обратно в категорию:

Всего запросов: 678, общее время запросов: 1.035 сек.

 

Link to comment
Share on other sites


4 минуты назад, MFX сказал:

 

 

Главная:

Всего запросов: 678, общее время запросов: 1.154 сек.

 

 

Измеряют в бразуере
Кликните F12 - таб  Cеть

 

Главная - 2.5 с

 

7711222990.jpg

Link to comment
Share on other sites

39 минут назад, SooR сказал:

 

Под футером, на главной странице сайта, например.

Вот эти 3 штуки получились самыми тяжелыми:

 

Спойлер
0.183 сек.
SELECT p.product_id, 
(SELECT AVG(rating) AS total
FROM oc_review r1
WHERE
  
r1.product_id = p.product_id AND
   r1.status = '1'
GROUP BY r1.product_id)

AS rating,

(SELECT price
FROM oc_product_discount pd2
WHERE
  
pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW()))
ORDER BY pd2.priority ASC, pd2.price ASC
LIMIT 1)

AS discount,

(SELECT price
FROM oc_product_special ps
WHERE
  
ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC
LIMIT 1)

AS special
FROM oc_product_to_category p2c
LEFT JOIN oc_product p ON (p2c.product_id = p.product_id)
LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE
  
pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '146'
GROUP BY p.product_id
ORDER BY LCASE(pd.name) ASC, LCASE(pd.name) ASC
LIMIT 0,1

0.127 сек.
SELECT p.product_id, 
(SELECT AVG(rating) AS total
FROM oc_review r1
WHERE
  
r1.product_id = p.product_id AND
   r1.status = '1'
GROUP BY r1.product_id)

AS rating,

(SELECT price
FROM oc_product_discount pd2
WHERE
  
pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW()))
ORDER BY pd2.priority ASC, pd2.price ASC
LIMIT 1)

AS discount,

(SELECT price
FROM oc_product_special ps
WHERE
  
ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC
LIMIT 1)

AS special
FROM oc_product_to_category p2c
LEFT JOIN oc_product p ON (p2c.product_id = p.product_id)
LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE
  
pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '68'
GROUP BY p.product_id
ORDER BY LCASE(pd.name) ASC, LCASE(pd.name) ASC
LIMIT 0,1

0.105 сек.
SELECT p.product_id, 
(SELECT AVG(rating) AS total
FROM oc_review r1
WHERE
  
r1.product_id = p.product_id AND
   r1.status = '1'
GROUP BY r1.product_id)

AS rating,

(SELECT price
FROM oc_product_discount pd2
WHERE
  
pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW()))
ORDER BY pd2.priority ASC, pd2.price ASC
LIMIT 1)

AS discount,

(SELECT price
FROM oc_product_special ps
WHERE
  
ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC
LIMIT 1)

AS special
FROM oc_product_to_category p2c
LEFT JOIN oc_product p ON (p2c.product_id = p.product_id)
LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE
  
pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '65'
GROUP BY p.product_id
ORDER BY LCASE(pd.name) ASC, LCASE(pd.name) ASC
LIMIT 0,1

 

Link to comment
Share on other sites


ТС - заходите в раздел услуги

И там

Раз

Два

 

 

У меня сейчас временная пиковая загрузка

Остается только @snastik
Направление дал

Link to comment
Share on other sites

9 минут назад, MFX сказал:

Вот эти 3 штуки получились самыми тяжелыми:

 

  Скрыть контент

0.183 сек.
SELECT p.product_id, 
(SELECT AVG(rating) AS total
FROM oc_review r1
WHERE
  
r1.product_id = p.product_id AND
   r1.status = '1'
GROUP BY r1.product_id)

AS rating,

(SELECT price
FROM oc_product_discount pd2
WHERE
  
pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW()))
ORDER BY pd2.priority ASC, pd2.price ASC
LIMIT 1)

AS discount,

(SELECT price
FROM oc_product_special ps
WHERE
  
ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC
LIMIT 1)

AS special
FROM oc_product_to_category p2c
LEFT JOIN oc_product p ON (p2c.product_id = p.product_id)
LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE
  
pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '146'
GROUP BY p.product_id
ORDER BY LCASE(pd.name) ASC, LCASE(pd.name) ASC
LIMIT 0,1


0.127 сек.
SELECT p.product_id, 
(SELECT AVG(rating) AS total
FROM oc_review r1
WHERE
  
r1.product_id = p.product_id AND
   r1.status = '1'
GROUP BY r1.product_id)

AS rating,

(SELECT price
FROM oc_product_discount pd2
WHERE
  
pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW()))
ORDER BY pd2.priority ASC, pd2.price ASC
LIMIT 1)

AS discount,

(SELECT price
FROM oc_product_special ps
WHERE
  
ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC
LIMIT 1)

AS special
FROM oc_product_to_category p2c
LEFT JOIN oc_product p ON (p2c.product_id = p.product_id)
LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE
  
pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '68'
GROUP BY p.product_id
ORDER BY LCASE(pd.name) ASC, LCASE(pd.name) ASC
LIMIT 0,1


0.105 сек.
SELECT p.product_id, 
(SELECT AVG(rating) AS total
FROM oc_review r1
WHERE
  
r1.product_id = p.product_id AND
   r1.status = '1'
GROUP BY r1.product_id)

AS rating,

(SELECT price
FROM oc_product_discount pd2
WHERE
  
pd2.product_id = p.product_id AND
   pd2.customer_group_id = '1' AND
   pd2.quantity = '1' AND
   ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND
   (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW()))
ORDER BY pd2.priority ASC, pd2.price ASC
LIMIT 1)

AS discount,

(SELECT price
FROM oc_product_special ps
WHERE
  
ps.product_id = p.product_id AND
   ps.customer_group_id = '1' AND
   ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND
   (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC
LIMIT 1)

AS special
FROM oc_product_to_category p2c
LEFT JOIN oc_product p ON (p2c.product_id = p.product_id)
LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE
  
pd.language_id = '1' AND
   p.status = '1' AND
   p.date_available <= NOW() AND
   p2s.store_id = '0' AND
   p2c.category_id = '65'
GROUP BY p.product_id
ORDER BY LCASE(pd.name) ASC, LCASE(pd.name) ASC
LIMIT 0,1

 

 

Это нормально это getProducts и getTotalProducts и это нормальный результат.
Но - я вам в личку написал что надо сделать это раз.
Два есть процессы, которые не связаны с Mysql и профайлер их не выловит.
У вас явное их наличие налицо и я вам опять же рассказал как с ними бороться в комплексе.

Три 6000 товаров, как я люблю 6000 товаров на категорию.
Это же путь магазина в вальгаллу. Можно приложить магазин навсегда. Ни один ddos guard не спасет.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.