Jump to content

Recommended Posts

Всем привет!

Есть магазин, с десяток категорий, пять товаров.

шаблон shoppica.

время ответа сервера 10-15 секунд.

от куда такая задержка?

профилировал базу, там все ок, база не грузит вообще.

проблема видимо где-то зарыта в пхп, но вот где именно, я понять не могу...

сделал профилирование xdebug, поставил webgrind, но там я вообще мало что понял :(

помогите плиз кто-нибудь решить проблему :)

зы версия ocStore v1.5.1.3

Share this post


Link to post
Share on other sites

ну если вы знаете что есть профилирование замерьте время работы каждого метода

Share this post


Link to post
Share on other sites

Дай файл для webgrind - я посмотрю

Share this post


Link to post
Share on other sites

только я его переименовал, чтоб он прикрепился.

Share this post


Link to post
Share on other sites

У тебя два основных чудовища: vqmod и shoppica

Тормозят из-за медленной ФС.

Попробуй включить кеширование vqmod и выложи новые данные...

  • +1 1

Share this post


Link to post
Share on other sites

Yesvik, спасибо!

только что такое ФС? файловая система?

кеш у vqmod включил, теперь загрузка 4-5 сек.

профайлинг прикрепил.

cachegrind.txt

Share this post


Link to post
Share on other sites

вобщем, удалил vqmode, и руками установил все модули, которые через него работали.

время ответа сервера 2-2,5 сек.

поставил стандартную тему вместо shoppica: 0,7-1 сек.

но ведь руками прописывать изменения в файлах, чтобы установить модуль - это же дико не удобно...

Share this post


Link to post
Share on other sites

судя по профайлеру то чуток жрет ф-ция getTotalProducts, закешировал ее, тем самым сохранив еще 0,15-0,2 сек.



public function getTotalProducts($data = array()) {
    $cache = md5(http_build_query($data));
    $datas = $this->cache->get('getTotalProducts.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$customer_group_id . '.' . $cache);

    if ($datas === FALSE) {
        $datas = $this->getTotalProductsCache($data);
        $this->cache->set('getTotalProducts.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$customer_group_id . '.' . $cache, $datas);
    }
    return $datas;
}
    
public function getTotalProductsCache($data = array()) {
...

а, да, у меня стоит мемкешед, что еще чуток ускоряет.

это конечно мелочи, но когда время отклика 0,5сек - это приятно.

еще бы нормальную модульную систему в движек, без извращения под названием "vqmod", было бы вообще круто :)

Share this post


Link to post
Share on other sites

О... ты и сам всё раскопал...

Ради эксперимента отруби подсчет количества товаров и посмотри скорость работы движка, а потом хорошенько подумай на сколько тебе важно выводить количество товаров в категориях.

А мемкешед далеко не мелочи... можно сделать на много меньше 0,5сек.

Share this post


Link to post
Share on other sites

О... ты и сам всё раскопал...

Ради эксперимента отруби подсчет количества товаров и посмотри скорость работы движка, а потом хорошенько подумай на сколько тебе важно выводить количество товаров в категориях.

отключил в менюшке в хедере. ощутимого прироста нет, т.к. эта штука у меня уже закеширована :)

А мемкешед далеко не мелочи... можно сделать на много меньше 0,5сек.

вот хочу этого добиться, но не хватает знаний.

подскажешь как?

в какую сторону копать?

Share this post


Link to post
Share on other sites

Кешируеш куда?

Share this post


Link to post
Share on other sites

кеширую в мемкешед, я выше код показывал как кеширую.

Share this post


Link to post
Share on other sites

Там видно что кешируеш, но не видно куда...

Share this post


Link to post
Share on other sites

Давай для начала определимся с чем надо бороться...

В начале index.php, сразу после строки

<?php
добавь

if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
	define('START_TIME', microtime(true));
}

А в конце index.php, перед строкой

?>
добавь

if (defined('START_TIME')) {
	echo "\n<!-- Execution Time: ", sprintf("%.6f", abs(microtime(true) - START_TIME)), " sec -->";
}

Share this post


Link to post
Share on other sites

есть.

<!-- Execution Time: 0.768452 sec -->

на главной.

Share this post


Link to post
Share on other sites

Это не нормально... явно сервак тупит

Share this post


Link to post
Share on other sites

т.е. копать не в сторону движка, а в сторону сервака?

Share this post


Link to post
Share on other sites

Этот Vqmod очень проблематичны,всегда у него какието проблемы с другими модулями...

Share this post


Link to post
Share on other sites

Можно я тут подстроюсь в теме? )) Чтобы не создавать еще одну с аналогичным названием.

Тестирую на денвере,

ocStore v1.5.1.3,

шаблон Crista,

есть Vqmod и модули autorelate, clear_cache, export, vqmod_opencart

товаров 2500,

категорий 150

Вставил чудо-код, чтобы поглядеть скорость загрузки и в общем вот:

<!-- Execution Time: 3.623929 sec -->

С чего бы мне начать ускорение?

Со стандартным шаблоном:

<!-- Execution Time: 3.895005 sec -->

Share this post


Link to post
Share on other sites

т.е. копать не в сторону движка, а в сторону сервака?

Для начала потрепай сервак... явно тупит ФС

Когда начнёш прикручивать shoppica - учти что на фоне вычисляется куча разной фигни которая не используется. Надо отслеживать и отрубать все лишаки.

Share this post


Link to post
Share on other sites

Никто не подскажет? Я только что уже переустановил полностью опенкарт, ничего кроме vqmod и плагина export-import не ставил.

Загрузил 2500 товаров и все, начались тормаза.

<!-- Execution Time: 3.589725 sec -->

Подскажите где почитать об оптимизации, ничего толкового найти не могу.

Share this post


Link to post
Share on other sites

Универсальных рецептов по оптимизации нет.

Всё зависит от многих факторов... и в первую очередь от конфигурация магазина.

Вот ocStore 1.5.1.3 на бесплатном хостинге http://opencart.site90.net/os/ в базе 1000 категорий, 10000 товаров

К стандартному ocStore прикручено только кеширование (кеширует в файлы на диске)

Но можно открыть HTML код и в конце страницы посмотреть статистику формирования страницы без кеша и статистику отдачи страницы из кеша

Например, для главной страницы http://opencart.site90.net/os/ статистика такая

<!--
Cache Put: Mon, 30 Jan 2012 09:31:44 +0000
Cache Lifetime: 86400 sec
Memory Real: 3.5 mb
Memory Peak: 3.313 mb
Memory Usage: 2.654 mb
Execution Time: 0.111798 sec
-->
<!--
Cache Get: Mon, 30 Jan 2012 09:32:09 +0000
Memory Real: 0.5 mb
Memory Peak: 0.42 mb
Memory Usage: 0.262 mb
Execution Time: 0.002277 sec
-->
Без кеша стрнаница генерится 0.111798 секунды... как видиш это сильно отличается от твоих 3,5 сек.

Из кеша страница страница отдаётся 0.002277 секунды.

Можно конечно возразить что на главной практически ничего не выводится и поэтому быстро формируется страница... и я с этим отчасти соглашусь, но вот тяжелая страница

http://opencart.site...ame=1&limit=100 это поиск товаров и вывод 100 результатов на странице

Найдено 4805 товаров и выведена первая сотня...

<!--
Cache Put: Mon, 30 Jan 2012 09:51:04 +0000
Cache Lifetime: 86400 sec
Memory Real: 5 mb
Memory Peak: 4.704 mb
Memory Usage: 3.034 mb
Execution Time: 0.497089 sec
-->
<!--
Cache Get: Mon, 30 Jan 2012 09:51:16 +0000
Memory Real: 0.75 mb
Memory Peak: 0.558 mb
Memory Usage: 0.399 mb
Execution Time: 0.003037 sec
-->
Как видиш 0.497089 без кеша... я боюсь даже представить что будет на твоём хостинге при аналогичном поиске.

Хостинг бесплатный и поэтому иногда притормаживает на генерации страницы без кеша, но в целом такого безобразия как у тебя - нет.

Я не знаю где вы находите тормознутые хостинги...

Оптимизировать ради оптимизации, не понимая что именно тормозит - глупое занятие...

Можете закидать меня камнями, но vqmod - редкостное говнище... а в руках человека не понимающего как оно работает - это якорь закопаный на 3 метра в землю.

  • +1 1

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.

Sign in to follow this  

  • Similar Content

    • By smartcoder
      500.00 руб
      Скачать/Купить дополнение


      Дополнительные услуги (создание сайта, мелкие доработки, правки по сайту, загрузка товаров на сайт, разработка модуля для Opencart)
      Мелкие правки по сайту - от 500руб
      Разработка модулей для Opencart - от 2000руб
      Наполнение товарами - от 2500руб
      Автоматизация интернет-магазинов - от 8000руб
      Интеграция API сервисов - от 15000руб
      Разработка сервисов (Laravel, Yii2) - от 180000руб.
       
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
       
       
      ------------------------------------------------------------------------------
      Доработка сайта - от 500руб
      Стоимость услуги «Доработка сайта» зависит от масштабности проекта и его текущего состояния, от движка, а также от задач, которые вы для него ставите.
       
      Если вам необходимо выполнить доработки по сайту, воспользуйтесь нашими услугами.
      Обновить информацию Исправить ошибки Поправить верстку  
      Мы располагаем собственным штатом программистов и готовы решить любые задачи по вашему сайту вне зависимости от того, на какой технологии он построен.
       
      Доработать можно любой сайт?
      Да, абсолютно любой, но иногда изменение сайта несет за собой переделку порядка 80% всего сайта. В таких случаях лучшее решение – создать сайт с нуля. Мы всегда предупреждаем о такой ситуации прежде чем начинать работу с проектом
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Разработка модуля для Opencart - от 2000руб
      Разработка модуля любой сложности для Opencart.
       
      Какие модули вы уже разрабатывали?
      Модули доставки Модули оплаты Модуль по работе с клиентами Модули по работе с товарами Автоматизация прайс-листов Заказ в один клик Модуль по работе с бонусами, акциями и скидками.  
      При разработке учитываются индивидуальные пожелания, работа функционала, оформления блоков, дизайн и т.д.
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Наполнение товарами магазина - от 2500руб
      Добавление товаров по вашим прайс-листам. Наименование товаров, цены, атрибуты, описание, характеристики и др.
       
      Что нужно для наполнения сайта товарами?
      Для наполнения нужен прайс-лист, в формате Excel или CSV или в YML(Яндекс).
       
      Сколько товаров можно добавить в магазин Opencart?
      Максимальный заказ, который был реализован с автоматическим изменением остатков и цен - это 500 000 товаров (возможно и более, если это вам нужно).
      Для магазинов в 3-5 тысяч товаров, это стандартный заказ, в которых не возникает проблем на большинстве хостингов.
       
      Какой нужен хостинг?
      Если вы используете достаточно большое количество товара и у вас планируется хороший трафик пользователей, то стоит задуматься о VDS (виртуальный сервер с максимальными привилегиями). Такое необходимо для магазинов больше 10тыс. товаров и больше 500 посетителей в день. 
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Автоматизация интернет-магазина - от 8000руб
      Автоматизация наполнения товарами, обновление цен и остатков Автоматическое наполнение магазина новыми товарами* Автоматическое заполнение количества актуальных остатков Автоматическое изменение цены поставщика. Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Интеграция API сервисов - от 15000руб
      Интеграция с любым API сервисом любой сложности, интеграция с телефонией, оплатой, доставкой и другими сервисами.
       
      Что такое интеграция API сервисов?
      Интеграция по API - это взаимодействие вашего сайта на Opencart с различными сервисами по интерфейсу API (application programming interface). Например вам нужно связать ваш сайт, с партнерским сайтом, либо вам нужно настроить взаимодействие с сервисом доставки или взаимодействие с банком.
       
      Сколько стоит интеграция с моим сервисом?
      Для оценки интеграции, нужно взглянуть на документацию сервиса по API, с которым предстоит работать, для этого предварительно напишите в сообщении для уточнении цены.
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Разработка сервисов - от 180000руб
      Разработка сервисов любой сложности.
       
      О каких сервисах идет речь?
      Речь идет о ваших собственных сервисах, которые могут быть публичными или только внутренние (только для вашей компании).
       
      Как узнать стоимость моего сервиса?
      Для того, чтобы узнать точную стоимость, необходимо составить четкое ТЗ, возможно так же спросить примерную стоимость, но нужно понимать что при наличии четкого ТЗ, эта сумма может меняться.
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
       
      Что нужно, для оценки стоимости работ?
      Четкое и подробное описание задачи. Формирование цены происходит из расчета цены за 1 час работы.
      В среднем работа стоит 1000руб./час. В случае дополнительных доработок или правок оплаченного задания, производится перерасчет дополнительного затраченного времени.
       
      Сроки
      Сроки разработки определяет программист для каждого проекта индивидуально.
      По времени исполнения зачастую зависит от своевременного предоставления программисту доступов к проекту заказчика и своевременного ответа на дополнительные вопросы программиста в ходе выполнения задания. Программист не несет ответственности за упущенную прибыль заказчика, в случае нарушения ранее оговоренных сроков.
      Добавил smartcoder Добавлено 02.08.2018 Категория Услуги  
    • By smartcoder
      Мелкие правки по сайту - от 500руб
      Разработка модулей для Opencart - от 2000руб
      Наполнение товарами - от 2500руб
      Автоматизация интернет-магазинов - от 8000руб
      Интеграция API сервисов - от 15000руб
      Разработка сервисов (Laravel, Yii2) - от 180000руб.
       
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
       
       
      ------------------------------------------------------------------------------
      Доработка сайта - от 500руб
      Стоимость услуги «Доработка сайта» зависит от масштабности проекта и его текущего состояния, от движка, а также от задач, которые вы для него ставите.
       
      Если вам необходимо выполнить доработки по сайту, воспользуйтесь нашими услугами.
      Обновить информацию Исправить ошибки Поправить верстку  
      Мы располагаем собственным штатом программистов и готовы решить любые задачи по вашему сайту вне зависимости от того, на какой технологии он построен.
       
      Доработать можно любой сайт?
      Да, абсолютно любой, но иногда изменение сайта несет за собой переделку порядка 80% всего сайта. В таких случаях лучшее решение – создать сайт с нуля. Мы всегда предупреждаем о такой ситуации прежде чем начинать работу с проектом
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Разработка модуля для Opencart - от 2000руб
      Разработка модуля любой сложности для Opencart.
       
      Какие модули вы уже разрабатывали?
      Модули доставки Модули оплаты Модуль по работе с клиентами Модули по работе с товарами Автоматизация прайс-листов Заказ в один клик Модуль по работе с бонусами, акциями и скидками.  
      При разработке учитываются индивидуальные пожелания, работа функционала, оформления блоков, дизайн и т.д.
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Наполнение товарами магазина - от 2500руб
      Добавление товаров по вашим прайс-листам. Наименование товаров, цены, атрибуты, описание, характеристики и др.
       
      Что нужно для наполнения сайта товарами?
      Для наполнения нужен прайс-лист, в формате Excel или CSV или в YML(Яндекс).
       
      Сколько товаров можно добавить в магазин Opencart?
      Максимальный заказ, который был реализован с автоматическим изменением остатков и цен - это 500 000 товаров (возможно и более, если это вам нужно).
      Для магазинов в 3-5 тысяч товаров, это стандартный заказ, в которых не возникает проблем на большинстве хостингов.
       
      Какой нужен хостинг?
      Если вы используете достаточно большое количество товара и у вас планируется хороший трафик пользователей, то стоит задуматься о VDS (виртуальный сервер с максимальными привилегиями). Такое необходимо для магазинов больше 10тыс. товаров и больше 500 посетителей в день. 
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Автоматизация интернет-магазина - от 8000руб
      Автоматизация наполнения товарами, обновление цен и остатков Автоматическое наполнение магазина новыми товарами* Автоматическое заполнение количества актуальных остатков Автоматическое изменение цены поставщика. Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Интеграция API сервисов - от 15000руб
      Интеграция с любым API сервисом любой сложности, интеграция с телефонией, оплатой, доставкой и другими сервисами.
       
      Что такое интеграция API сервисов?
      Интеграция по API - это взаимодействие вашего сайта на Opencart с различными сервисами по интерфейсу API (application programming interface). Например вам нужно связать ваш сайт, с партнерским сайтом, либо вам нужно настроить взаимодействие с сервисом доставки или взаимодействие с банком.
       
      Сколько стоит интеграция с моим сервисом?
      Для оценки интеграции, нужно взглянуть на документацию сервиса по API, с которым предстоит работать, для этого предварительно напишите в сообщении для уточнении цены.
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
      Разработка сервисов - от 180000руб
      Разработка сервисов любой сложности.
       
      О каких сервисах идет речь?
      Речь идет о ваших собственных сервисах, которые могут быть публичными или только внутренние (только для вашей компании).
       
      Как узнать стоимость моего сервиса?
      Для того, чтобы узнать точную стоимость, необходимо составить четкое ТЗ, возможно так же спросить примерную стоимость, но нужно понимать что при наличии четкого ТЗ, эта сумма может меняться.
      Перед покупкой напишите в личные сообщения к @smartcoder для уточнения деталей.
      ------------------------------------------------------------------------------
       
      Что нужно, для оценки стоимости работ?
      Четкое и подробное описание задачи. Формирование цены происходит из расчета цены за 1 час работы.
      В среднем работа стоит 1000руб./час. В случае дополнительных доработок или правок оплаченного задания, производится перерасчет дополнительного затраченного времени.
       
      Сроки
      Сроки разработки определяет программист для каждого проекта индивидуально.
      По времени исполнения зачастую зависит от своевременного предоставления программисту доступов к проекту заказчика и своевременного ответа на дополнительные вопросы программиста в ходе выполнения задания. Программист не несет ответственности за упущенную прибыль заказчика, в случае нарушения ранее оговоренных сроков.
    • By vetalkurilenko
      Добрый день.
      Недавно на сайте появилась проблема. Перестало корректно работать отображение товаров в категории. 
      https://molli.com.ua/igrushki/dekorativnye/
      Не могу понять в чем причина. 
      OPencart 3.0, шаблон Debaco. Помогите найти решение, в какую сторону смотреть ?

    • By Sunser
      Скачать/Купить дополнение


      Sunser seo lang
      В версии Opencart 2.3 есть такая проблема как, когда вы добавляете перевод на сайт и при выборе другого языка в адресную строку не добавляется код выбранного языка.
      Что для некоторых сайтов это плохо по многим причинам.
      Данный модификатор исправляет данную причину. Модификатор тестировался  успешно работал на Opencart 2.3.x и на OpencartPro 2.3.x
      Для работы модификатора нужен SeoPro, поскольку модификатор вносит изменения именно в нем.
      Установить модификатор очень легко, устанавливаете его через админку, через установка дополнений или просто скинуть в папу system/ вашего сайта, после чего обновите модификаторы в админке, в пункте модификаторы
      Причина по которым модификатор может не работает после установки, это модификатор не находит указанных путей, прописанных в модификаторе.
      Добавил Sunser Добавлено 13.07.2019 Категория Модули Системные требования Сайт разработчика Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3 Обращение к серверу разработчика Нет Старая цена  
    • By Sha
      499.00 руб
      Скачать/Купить дополнение


      Layout Type, ускорение мобильной версии.
      Инструмент, который поможет ускорить мобильную версию OpenCart!
       
      Как сделать шаблон адаптивным? на мобильной версии скрыть "лишние" элементы.
      Нужно, что-бы при этом не пострадало usability? переместить модули и виджеты на другие позиции.
       
      Даже топовые шаблоны, поступают именно таким образом, элементы которые "не нужны" или наоборот необходимы только в мобильной версии: либо скрываются посредством css (display:none); либо перемещаются, хорошо если flexbox или bootstrap pull push но часто с помощью навешивания множества слушателей событий javascript. Даже адаптивность bootstrap основана на таких принципах.
      Всё это создаёт лишний "вес" и нагрузку, что конечно же замедляет работу сайта и заставляет процессор пользователя работать с повышенной нагрузкой шумя как майнинг ферма.
      Мы в наших продуктах пропагандируем использовать только то, что необходимо сейчас. И исходя из этих принципов нами был разработан
       
      модуль Мобильные схемы который позволит:
      уменьшить объём страницы (предотвратить чрезмерную нагрузку на сеть),  сократить размер структуры DOM, ускорить время окончания работы ЦП, избавится от лишнего JavaScript кода (сократить время выполнения кода JavaScript), избавится от css костылей,       а так-же:
      Устранить ресурсы, блокирующие отображение, Сократить время ответа сервера (время до получения первого байта, TTFB), Использовать подходящий размер изображений,  
           и др.
           при этом даже улучшив
       
      адаптивность, гибкость в настройке и дружелюбность Вашего сайта!  
       
      Поддерживает встроенные схемы популярных модулей, например поддерживает SEOCMS.
       
      Большие скидки, для постоянных покупателей.
       
      Бесплатно модуль получить можно вместе с шаблоном Roundshop.
       
      Техническая поддержка
      доступна пользователям из списка покупателей.
      Если вы обращаетесь с просьбой разобраться в проблеме, то для экономии времени укажите:
      адрес сайта доступ в админ-панель доступ на FTP-сервер  
      По любым вопросам вы можете связаться с нами через:
      Личные сообщения на форуме; Режим работы с 10-00 до 18-00 по киевскому времени за исключением выходных и праздничных дней.
       
      Добавил Sha Добавлено 13.03.2018 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика zeKit.pro Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет Старая цена 0  
  • 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.