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

После импорта 20 тыс товаров очень медленно работает магазин.


Recommended Posts

Здравствуйте. Будьте добры, помогите разобраться. Сайт: http://happymarkt.ru Импортировал 20 тыс товаров и отклик магазина стал в среднем 15 секунд. Куда бы не нажал. Категория или товар. Не важно. Думал что не хватает ресурсов хостинга. Попросил тех поддержку помочь в вопросе, но они отвечают что нужна какая то оптимизация чтобы выборка шла по меньшему кол-ву строк:

Цитата

Обработка одного такого запроса занимает около 0,2 секунды, всего подобных запросов посылается около 208 при открытии главной.

При выполнении одного подобного запроса mysql перебирает около 20 тыс строк

 

explain 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 <= NOW() AND p2s.store_id = '0' AND cp.path_id = '90';
+----+-------------+-------+------------+--------+---------------------+---------+---------+-----------------------------------+-------+----------+--------------------------+
| id | select_type | table | partitions | type   | possible_keys       | key     | key_len | ref                               | rows  | filtered | Extra                    |
+----+-------------+-------+------------+--------+---------------------+---------+---------+-----------------------------------+-------+----------+--------------------------+
|  1 | SIMPLE      | p2s   | NULL       | index  | PRIMARY             | PRIMARY | 8       | NULL                              | 20738 |    10.00 | Using where; Using index |
|  1 | SIMPLE      | p     | NULL       | eq_ref | PRIMARY,extra       | PRIMARY | 4       | ivtro_ocar1.p2s.product_id        |     1 |    50.00 | Using where              |
|  1 | SIMPLE      | pd    | NULL       | eq_ref | PRIMARY             | PRIMARY | 8       | ivtro_ocar1.p2s.product_id,const  |     1 |   100.00 | Using index              |
|  1 | SIMPLE      | p2c   | NULL       | ref    | PRIMARY,category_id | PRIMARY | 4       | ivtro_ocar1.p2s.product_id        |     1 |   100.00 | Using where; Using index |
|  1 | SIMPLE      | cp    | NULL       | eq_ref | PRIMARY             | PRIMARY | 8       | ivtro_ocar1.p2c.category_id,const |     1 |   100.00 | Using index              |
+----+-------------+-------+------------+--------+---------------------+---------+---------+-----------------------------------+-------+----------+--------------------------+
Цитата

Причина того, что главная страница открывается больше 15 секунд, в том, что сайт отправляет медленные запросы к базе данных. По типу

 

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 <= NOW() AND p2s.store_id = '0' AND cp.path_id = '73'

 

Что это вообще и как понять эти все таблицы? Разве так у всех происходит после импорта товаров?

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


9 часов назад, Bn174uk сказал:

Как минимум отключите подсчёт количества товаров в категориях и сайт станет в разы бодрее. 

))) вот это да. Вообще летает теперь! Пусть лучше не выводит количество, за то работает нормально. 

Спасибо за помощь!

Но ещё после импорта почему то гугл PageSpeed Insights перестал анализировать сайт и выкидывать ошибку. По этому нету у вас решения? 

Screenshot_54.jpg

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


29 минут назад, Bn174uk сказал:

Ну сайт закрыт у Вас + отдаете же 503 ошибку http://prntscr.com/tb02n5

Да, я написал, а потом вспомнил, извините. И ещё раз огромное спасибо!)

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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