[Решено] Как исправить ошибку?

Тема в разделе "OpenCart", создана пользователем Helen11490, 14 ноя 2015.

Статус темы:
Закрыта.
  1. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    Помогите, пожалуйста!!!
    Ищу причину нагрузки на Базу Данных. Для определения времени установлено вот это дополнение https://opencartforum.com/files/file/786-db-log/ При проверки времени загрузки показывает очень большое время на обработку, В логах появляется вот такая ошибка: 12:20:56-17.61253:46:/xxx/xxx/xxx/xxx/xxx/vqmod/vqcache/vq2-catalog_controller_common_header.php(16)
     
  2. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Давайте начнем с того что узнаем версию системы, количество товаров и категорий. Что там в хедере на 16 я х.з., но опыт подсказывает что в хедере обычно грузит рекурсивный подсчет товаров.
     
  3. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    Сайт сделан на ocStore Версия 1.5.5.1.2 http://demo.lapyihvost.ru/ Количество товара около 5 000, Категорий и под категорий много.Товар загружен, но не отредактирован. Сайт на данный момент закрыт от индекса. Нагрузка на БД, то нормальная, а то подскакивает очень на много. Помогите найти причину, пожалуйста.
    16 строка header.php $this->data['scripts'] = $this->document->getScripts();
     
    Последнее редактирование: 14 ноя 2015
  4. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    ну конкретно в этой строке ничего страшного не вижу, вродь скрипты подключает она. Это 16я строка из кэш vqmod? На оксторе с одной стороны проблема тормозов должна быть решена (речь про запросы на подсчет товаров) с другой стороны мы видим фиговенькую скорость и долгое ожидание http://tools.pingdom.com/fpt/#!/eJBoIf/http://demo.lapyihvost.ru/ что как бы намекает на то, что что-то тут не то. У тебя установлена тема univer, я бы проверил не переписывает ли данная тема контроллеры и модели окстора, ну так на всякий, по тому что то о чем я говорил самая распространенная причина таких тормозов. Не лишним будет почитать про запросы тут http://sourcedistillery.com/opencart_optimisation.html - вот все что я пока что могу порекомендовать сделать, может быть тут еще гуру подключатся и что-то полезное скажут.
     
    dem03x нравится это.
  5. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    Большое спасибо за ответ, завтра проанализирую шаблон, посмотрю модули, которые вносят изменения через vqmod в контроллерах.
    Я не большой специалист, но пытаюсь сделать все своими руками. По ссылке, которую вы дали, я там уже была, не пока не разобралась что к чему. Надеюсь на помощь специалистов.
     
  6. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Там все понятно вродь, но если есть проблемы то можно выложить сюда контроллер хедера (из кэша vqmod) и модель продукта, для начала.
     
    Lasted edited by : 15 ноя 2015
  7. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    Добрый день!
    Вот это ссылка на header.php: https://cloud.mail.ru/public/LMcj/NgVg1HWB4

    Этот файл определяет время обработки, там видно эту ошибку: https://cloud.mail.ru/public/96qR/CKGSxBwaN Строка 40: 2015-11-14 11:09:59 - 5.38508: 147: /home/p/pat2013/LAPY_I_HVOST/public_html/vqmod/vqcache/vq2-catalog_controller_common_header.php(16)

    Это логи vqmod за 12,13,14 ноября (сегодняшний еще не отображается) https://cloud.mail.ru/public/3EeN/d3Vxiwrfd

    Сейчас начну копаться с модулями, которые подгружаются через vqmod
     
  8. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Что-то я прикола не понял, это контроллер админки? Он вообще нафиг не нужен, тормозить клиентскую часть он не может, нужно каталог рыть.
     
  9. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
  10. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Код:
    if ($this->config->get('config_product_count')) {
                            $data = array(
                                'filter_category_id'  => $child['category_id'],
                                'filter_sub_category' => true
                            );
    Тут вродь норм все, модель продукта из каталога ее покажите.
     
  11. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    Извините! Какой файл путь скажите пожалуйста!
     
  12. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    каталог/модель/каталог/продукт.пхп насколько я помню.
     
  13. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
  14. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    Нашли статью в интернете

    Здраствуйте.
    Хочу поделиться со всеми розроботчиками шопов на базе движка opencart, а имено с теми, кто столкнулся с проблемой бистродействия движка при большом количестве товаров. В результате чево opencart сильно тормозит, страници откриваються от5 до 40 и боьше секунд...

    Итак, понятное дело что дело в нехорошо написаном коде, но всежи скажу так, из всех бесплатних и ПЛАТНИХ движков для комерческих проектов ви лутшево врядли найдете, только по юзабилити разве и все, а тормоза остануться на все при большой базе...
    Почему же страници откриваються долго на opencart?
    Дело в том, что на любой странице идет оч много запросов к БД, и большая виборка из нею и еще кое какие операции...
    Каково решение?
    Решение следующие, нужно нам подстроить мускуля под себя(mySQL).
    Для етово ищем файлик конфигурации мускуля и меняєм следующие параметри(которих нет - дописиваєм):

    php code:
    1. key_buffer = 400M
    2. max_allowed_packet = 48M
    3. table_cache = 1024
    4. sort_buffer_size = 4m
    5. read_buffer_size = 4m
    6. read_rnd_buffer_size = 2m
    7. myisam_sort_buffer_size = 64m
    8. tmp_table_size = 96m
    9. query_cache_type = 1
    10. query_cache_size = 64m
    11. thread_cache_size = 16
    12. max_connections = 300
    13. wait_timeout = 120

    после етово перезапускаем mySQL (а лутше весь сервак) и радуемся жизни))

    ВНИМАНИЕ! Если ви уже используете "решение" типа етово то никаких изменений не увидите!!! Нужно откатить систему вначало, а имено файл system/library/cache.php и подправить файл config как бил раньше!

    ДЕМО как работает openkart с базой более 1500 категорий(включая подкатегории) и более 27000 товаров можно посмотреть у меня на обичном хостинге

    Помните, для хорошой роботи opencart достаточно нормальново хостинга, и не стоит прислушиваться к службе поддержки что они рекомендуют VPS так как без етой конфигурации всеравно ничево не слетит високо!!! Если поддержка на обичном хостинге отказиваеться сконфигурировать правильно БД то стоит подумать про переезд на новий хостинг!

    Поможет это с нашей проблемой и ка реализовать?
     
    Lasted edited by : 16 ноя 2015
  15. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Уровень познаний в грамматике заставляет усомниться в возрасте автора, а соответственно и его познаниях в оптимизации :Smile:

    Вот это самое смешное во всём этом тексте, ибо только на VPS/VDS есть возможность редактировать конфиг MySQL.

    Не поможет. У вас сколько товаров, 27 тысяч? Если да, то вам в любом случае нужен VPS/VDS. А до 10 тысяч товара работает без тормозов на любом нормальном шареде с тарифом среднего и выше уровня.

    Попросите хостера дать вам лог медленных запросов к БД. Тогда будет понятно, что базу нагружает.
     
  16. Helen11490

    Helen11490

    Регистрация:
    14 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    Подскажите! Это Поиск подкатегорий на стр. категорий. vqmod В нем есть подсчет? Что и как исправить?
     
    Lasted edited by : 18 ноя 2015
  17. Dotrox

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

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Уберите эту строку:
    PHP:
    $product_total $this->model_catalog_product->getTotalProducts($data);
    И приведите эту:
    PHP:
    'name'  => $child['name'] .($this->config->get('config_product_count') ? ' (' $product_total ')' ''),
    К такому виду:
    PHP:
    'name'  => $child['name'],
    И то же самое сделайте в самом /catalog/controller/product/category.php. В зависимости от версии ОК там может происходить подсчёт независимо от того, включён ли он в админке.
     
    cereberlum нравится это.
  18. Helen11490

    Helen11490

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