Помогите, пожалуйста!!! Ищу причину нагрузки на Базу Данных. Для определения времени установлено вот это дополнение 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)
Давайте начнем с того что узнаем версию системы, количество товаров и категорий. Что там в хедере на 16 я х.з., но опыт подсказывает что в хедере обычно грузит рекурсивный подсчет товаров.
Сайт сделан на ocStore Версия 1.5.5.1.2 http://demo.lapyihvost.ru/ Количество товара около 5 000, Категорий и под категорий много.Товар загружен, но не отредактирован. Сайт на данный момент закрыт от индекса. Нагрузка на БД, то нормальная, а то подскакивает очень на много. Помогите найти причину, пожалуйста. 16 строка header.php $this->data['scripts'] = $this->document->getScripts();
ну конкретно в этой строке ничего страшного не вижу, вродь скрипты подключает она. Это 16я строка из кэш vqmod? На оксторе с одной стороны проблема тормозов должна быть решена (речь про запросы на подсчет товаров) с другой стороны мы видим фиговенькую скорость и долгое ожидание http://tools.pingdom.com/fpt/#!/eJBoIf/http://demo.lapyihvost.ru/ что как бы намекает на то, что что-то тут не то. У тебя установлена тема univer, я бы проверил не переписывает ли данная тема контроллеры и модели окстора, ну так на всякий, по тому что то о чем я говорил самая распространенная причина таких тормозов. Не лишним будет почитать про запросы тут http://sourcedistillery.com/opencart_optimisation.html - вот все что я пока что могу порекомендовать сделать, может быть тут еще гуру подключатся и что-то полезное скажут.
Большое спасибо за ответ, завтра проанализирую шаблон, посмотрю модули, которые вносят изменения через vqmod в контроллерах. Я не большой специалист, но пытаюсь сделать все своими руками. По ссылке, которую вы дали, я там уже была, не пока не разобралась что к чему. Надеюсь на помощь специалистов.
Там все понятно вродь, но если есть проблемы то можно выложить сюда контроллер хедера (из кэша vqmod) и модель продукта, для начала.
Добрый день! Вот это ссылка на 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
Что-то я прикола не понял, это контроллер админки? Он вообще нафиг не нужен, тормозить клиентскую часть он не может, нужно каталог рыть.
Да, да, да... Извините, это конечно не тот файл, вот то, что надо: https://cloud.mail.ru/public/Fmaj/Jzb842YyT
Код: if ($this->config->get('config_product_count')) { $data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); Тут вродь норм все, модель продукта из каталога ее покажите.
Нашли статью в интернете Здраствуйте. Хочу поделиться со всеми розроботчиками шопов на базе движка opencart, а имено с теми, кто столкнулся с проблемой бистродействия движка при большом количестве товаров. В результате чево opencart сильно тормозит, страници откриваються от5 до 40 и боьше секунд... Итак, понятное дело что дело в нехорошо написаном коде, но всежи скажу так, из всех бесплатних и ПЛАТНИХ движков для комерческих проектов ви лутшево врядли найдете, только по юзабилити разве и все, а тормоза остануться на все при большой базе... Почему же страници откриваються долго на opencart? Дело в том, что на любой странице идет оч много запросов к БД, и большая виборка из нею и еще кое какие операции... Каково решение? Решение следующие, нужно нам подстроить мускуля под себя(mySQL). Для етово ищем файлик конфигурации мускуля и меняєм следующие параметри(которих нет - дописиваєм): php code: key_buffer = 400M max_allowed_packet = 48M table_cache = 1024 sort_buffer_size = 4m read_buffer_size = 4m read_rnd_buffer_size = 2m myisam_sort_buffer_size = 64m tmp_table_size = 96m query_cache_type = 1 query_cache_size = 64m thread_cache_size = 16 max_connections = 300 wait_timeout = 120 после етово перезапускаем mySQL (а лутше весь сервак) и радуемся жизни)) ВНИМАНИЕ! Если ви уже используете "решение" типа етово то никаких изменений не увидите!!! Нужно откатить систему вначало, а имено файл system/library/cache.php и подправить файл config как бил раньше! ДЕМО как работает openkart с базой более 1500 категорий(включая подкатегории) и более 27000 товаров можно посмотреть у меня на обичном хостинге Помните, для хорошой роботи opencart достаточно нормальново хостинга, и не стоит прислушиваться к службе поддержки что они рекомендуют VPS так как без етой конфигурации всеравно ничево не слетит високо!!! Если поддержка на обичном хостинге отказиваеться сконфигурировать правильно БД то стоит подумать про переезд на новий хостинг! Поможет это с нашей проблемой и ка реализовать?
Уровень познаний в грамматике заставляет усомниться в возрасте автора, а соответственно и его познаниях в оптимизации Вот это самое смешное во всём этом тексте, ибо только на VPS/VDS есть возможность редактировать конфиг MySQL. Не поможет. У вас сколько товаров, 27 тысяч? Если да, то вам в любом случае нужен VPS/VDS. А до 10 тысяч товара работает без тормозов на любом нормальном шареде с тарифом среднего и выше уровня. Попросите хостера дать вам лог медленных запросов к БД. Тогда будет понятно, что базу нагружает.
Уберите эту строку: 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. В зависимости от версии ОК там может происходить подсчёт независимо от того, включён ли он в админке.
Спасибо всем, кто помогал. Решение найдено. Вся проблема была в допилах которые подгружались через vqmod.