Нагрузка на базы данных

Тема в разделе "OpenCart", создана пользователем Rumit19990, 6 июн 2016.

  1. Rumit19990

    Rumit19990

    Регистрация:
    6 июн 2016
    Сообщения:
    8
    Симпатии:
    0
    Вообщем нужна помощь в уменьшении нагрузки на базу данных, идет двойная нагрузка на хост и он ругается. На сайт около 10 тысяч товаров.
    Выдает вот что

    SELECT DISTINCT pa.text, a.`attribute_id`, ad.`name`, ag.attribute_group_id, agd.name as attribute_group_name FROM `oc_product_attribute` pa LEFT JOIN oc_attribute a ON(pa.attribute_id=a.`attribute_id`) LEFT JOIN oc_attribute_description ad ON(a.attribute_id=ad.`attribute_id`) LEFT JOIN oc_attribute_group ag ON(ag.attribute_group_id=a.`attribute_group_id`) LEFT JOIN oc_attribute_group_description agd ON(agd.attribute_group_id=ag.`attribute_group_id`) LEFT JOIN oc_product p ON(p.product_id=pa.`product_id`) LEFT JOIN oc_product_to_category p2c ON(p.product_id=p2c.product_id) LEFT JOIN oc_product_to_store p2s ON(p.product_id=p2s.product_id) WHERE p.status = NNN AND p.date_available <= NOW() AND p2s.store_id =NNN AND p2c.category_id = NNN AND pa.language_id = NNN AND ad.language_id = NNN AND agd.language_id = NNN ORDER BY ag.sort_order, agd.name, a.sort_order, ad.name, pa.text

    При том оптимизацию вопросов выполняли
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Добавьте индексы на поля, по которым идёт выборка.
     
  3. Rumit19990

    Rumit19990

    Регистрация:
    6 июн 2016
    Сообщения:
    8
    Симпатии:
    0
    я не программист требуется помощь, можете помочь устранить проблему?
     
  4. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    Мне интересно, что такое оптимизация запосов?

    И еще..
    А что по этому поводу сказал автор фильтра-про. Это часть его запросов. И все индексы там есть
     
  5. Rumit19990

    Rumit19990

    Регистрация:
    6 июн 2016
    Сообщения:
    8
    Симпатии:
    0
    chukcha, chukcha,
    Я написал фрилансу в личку жду что он скажет, по поводу оптимизации запросов- Так мне ответили в поддержке хоста что надо оптимизировать запросы к базе данных.
     
  6. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    Я не знаю, что там у вас в модели, но код у фильтра про в модели закрыт...
    p.product_id - индекс есть
    pa PRIMARY KEY (`product_id`,`attribute_id`,`language_id`)

    И т.д

    Да, сам запрос не из легких
    но и оптимизировать его не получится

    Цель запроса - собрать атрибуты из товаров в определенной категории.

    Или атрибутов много, или товаров в категории

    В принципе можно немного переделать сам запрос, но код под кубом.. и даст ли оно приращение в скорости - сложно сказать
     
  7. Rumit19990

    Rumit19990

    Регистрация:
    6 июн 2016
    Сообщения:
    8
    Симпатии:
    0

    Так и как решать вопрос? удалять товар? Если фильтр про отключать сайт летает, получается что фильтр не тащит. Тогда может поставить Мегафильтр про?

    Я не прогер просто ищу ответы у спецов.
     
  8. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    Пробуйте другие фильтры

    В принципе, если бы я :Smile: писал бы фильтр, то я бы использовал нормализованные таблицы - и хранил бы их отдельно
    Т.е. сначала бы из заполнял, а уж потом пользовал в фильтре, и ... мне кажется, что в последних версиях фильтрпро так и сделано
     
  9. Rumit19990

    Rumit19990

    Регистрация:
    6 июн 2016
    Сообщения:
    8
    Симпатии:
    0

    chukcha, Да я думал уже об этом, просто уже наконец то надо запустить сайт а не одно так другое. Подождем что скажет ФРиланс если что обновлю лицуху последней версии, либо пробую мегафильтр. Просто было превышение такое уже прогер мне оптимизировал и сказал что больше не будет мучать и вот опять(


    В логах ошибок еще выдает вот такое
    2016-06-05 22:15:36 - PHP Notice: Undefined index: name in /home/p335421/public_html/catalog/controller/module/microdatapro.php(1180) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 2
    2016-06-05 22:15:36 - PHP Notice: Undefined index: description in /home/p335421/public_html/catalog/controller/module/microdatapro.php(1180) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 2
    2016-06-05 22:15:36 - PHP Notice: Undefined index: name in /home/p335421/public_html/catalog/controller/module/microdatapro.php(1180) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 2
    2016-06-05 22:15:36 - PHP Notice: Undefined index: description in /home/p335421/public_html/catalog/controller/module/microdatapro.php(1180) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 2
     
  10. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    Что он вам там наоптимизировал - неизвестно
    нужно смотреть на месте

    Ноу учтите, это не дешево..
    А с другой стороны, если у вас на этапе запуска такие нагрузки, то что будет в релизе?
    Бегите от хостера или меняйте тариф
    Ведь товаров у вас не так много, около 10000
     
  11. Rumit19990

    Rumit19990

    Регистрация:
    6 июн 2016
    Сообщения:
    8
    Симпатии:
    0

    Посоветовать можете какие нибудь нормальные?
     
  12. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    brian filter
     
  13. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Ну, из моего опыта, фильтр про (без нормализации) при оптимизированной базе нормально работает в магазине на 14 тысяч товаров на шаред хостинге.
    И опять же из опыта: уже при трёх тысячах товаров, без оптимизации сайт еле открывается.

    Какие-то странные ошибки. По нормальному, нигде в коде не может быть eval (разве что, автор этого модуля микроданных совсем уж криворукий).
    Обычно eval в бекдорах встречается.
     
  14. Rumit19990

    Rumit19990

    Регистрация:
    6 июн 2016
    Сообщения:
    8
    Симпатии:
    0
    да там косяк разработчика
     
  15. a-ha

    a-ha

    Регистрация:
    29 дек 2014
    Сообщения:
    34
    Симпатии:
    11
    Покажите план выполнения запроса, иначе без тестовых данных его никто разбирать не будет.