scary.png Happy Halloween! Лови жутко страшный список шаблонов и модулей со скидками.
Jump to content
DarkEinstein

После импорта 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'

 

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

Share this post


Link to post
Share on other sites

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

  • +1 1

Share this post


Link to post
Share on other sites
Posted (edited)
9 часов назад, Bn174uk сказал:

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

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

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

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

Screenshot_54.jpg

Edited by DarkEinstein

Share this post


Link to post
Share on other sites

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

  • +1 2

Share this post


Link to post
Share on other sites
29 минут назад, Bn174uk сказал:

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.