Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

1 страница грузится 5-10 секунд


mastanggt

Recommended Posts

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

Дабы не создавать кучу подобных тем напишу сюда.

Сейчас на сайте огромное количество категорий и из-за этого долго грузятся страницы.

Пробовал убирать общее количество файлов и добавлял индексы Mysql, роде все нормализовалось но все равно 1 страница грузится 5-10 секунд.

 

https://suveniry-optom0030ok.ru/suveniry-sima-land/ - вот сама ссылка которая долго грузится.

Внизу страницы вставлен хмл файл в котором отображаются сколько выполняются какие запросы.

https://suveniry-optom0030ok.ru/ - вот просто ссылка на сайт.

 

 

Вот запрос который выполняется очень долго.

query time:17.9917 seconds | controller: ControllerProductCategory
SELECT DISTINCT SQL_CALC_FOUND_ROWS 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 < '2015-09-19 17:00:00') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '2015-09-19 17:00:00')) 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 < '2015-09-19 17:00:00') AND (ps.date_end = '0000-00-00' OR ps.date_end > '2015-09-19 17:00:00')) 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 <= '2015-09-19 17:00:00' AND p2s.store_id = '0' AND p2c.category_id = '610' GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC LIMIT 0,15

 

Прошу помощи 

Надіслати
Поділитися на інших сайтах


отказаться от сортировки по рейтингу,  Минус один подзапрос

Если нет СКИДОК (не акций) - еще один минус

Надіслати
Поділитися на інших сайтах

подсчет категорий отключите, а то у вас по полторы секунды на каждую тратится

query time:1.5057 seconds | controller: ControllerProductCategory
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) 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 <= '2015-09-19 20:52:00' AND p2s.store_id = '0' AND cp.path_id = '7460'
query time:1.468 seconds | controller: ControllerProductCategory
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) 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 <= '2015-09-19 20:52:00' AND p2s.store_id = '0' AND cp.path_id = '5891'
query time:1.5601 seconds | controller: ControllerProductCategory
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) 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 <= '2015-09-19 20:52:00' AND p2s.store_id = '0' AND cp.path_id = '6261'
Надіслати
Поділитися на інших сайтах

Это не существенно :(

 

Подсчет может быть потому что нужно посчитать количество товаров на странице

 

 

Там существенеа разница в двух категоряих Новый год и проблемная.

У обоих около >60к

Но новогодняя грузится быстро, проблемная...

Надіслати
Поділитися на інших сайтах

Это не существенно :(

 

Подсчет может быть потому что нужно посчитать количество товаров на странице

 

 

Там существенеа разница в двух категоряих Новый год и проблемная.

У обоих около >60к

Но новогодняя грузится быстро, проблемная...

новогодняя оттого и грузится быстро, что у ней подсчет всего в одной подкатегории идет

а в проблемной - категорий больше одной и все они считаются

 

Внизу страницы вставлен хмл файл в котором отображаются сколько выполняются какие запросы.

 

PS:насчет быстро - быстро относительно мегапроблемной

Змінено користувачем AlexDW
Надіслати
Поділитися на інших сайтах

Это не существенно :(

 

Подсчет может быть потому что нужно посчитать количество товаров на странице

 

 

Там существенеа разница в двух категоряих Новый год и проблемная.

У обоих около >60к

Но новогодняя грузится быстро, проблемная...

 

60к товаров на категорию при кривых настройках укладывает 2гига VPS.

Тут нужен БОЛЬШОЙ БУБЕН.

Если решить допустим вопрос подсчета товаров их отключением вылезет еще минимум в трех местах и это без доп фунционала.

 

Под подобный проект нужно комплексное железно-программно-настроечное решение. А не "ДАЙТЕ ЗАПЛАТКУ ЧТОБЫ ПОЛЕТЕЛО".

 

С такими "самолетами можно и неделю провозится вручную дотачивая каждую запятую в запросах".

 

Можно еще купить BOOST CHUCKHA-OPTIMIZER, нанять 5 рых настройщиков скрипок и потом все равно оказаться в моих руках.

 

:ugeek:

Змінено користувачем snastik
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.