Рекомендуемые сообщения

sasha181    10

index.php?app=downloads&module=display&section=screenshot&id=1703

Название: Ускорение и оптимизация opencart

Добавил: sasha181

Добавлен: 28 февр. 2014

Категория: Прочее

VqMod для оптимизации и ускорения opencart.

Ускорение опенкарт в 2-5 раз в зависимости от состава дополнительных модулей.

Результат работы модуля можно увидеть на примере магазина http://магазин-усадьба.рф/

Особенно заметными будут результаты на магазинах с большим количеством товаров (от 1000).

На данном этапе модуль спонсируется проектом проектом webguard.pro

Приглашаю всех к тестированию и участию в разработке.

С Вашей стороны будет весьма полезно узнать какой прирост дал модуль на Вашей системе или наоборот замедлил (на одной из инсталяций было и такое). При этом конечно важно отметить на какой версии или сборке opencart работает Ваш магазин и состав установленных дополнительных модулей и патчей.

Замерять производительность можно, сравним скорость генерации страниц (главная, категории, страницы товара) до наложения патчи и после. Замерять нужно скорость первого обращения и последующих 2-3-х. Посмотреть время генерации можно, например, при помощи Firebug (расширения для firefox).

На основании Ваших данных будет определяться ход разработки.

Для тестирования всем желающим WebGuard предоставляет хостинг на месяц. Собственно, на этом хостинге находится и магазин из примера.

Оформить тестовый хостинг аккаунт можно по ссылке: http://cabinet.webguard.pro/UserRegister?OwnerID=2001&Eval=ObXLcJkMG+eL2R6s3Rz3qt94DgP/R6fLtQQk3UZHzT83VvQQffVeb5aLte9p+zT5iO4AalqTDwY=

После регистрации автоматически начинается оформление бесплатного тарифа "Opencart-demo" с 5Gb места на месяц.

ВНИМАНИЕ!!! Многие спрашивают, как наложить sql патч на базу данных.

1. Патч накладывать нужно через phpmyadmin, в разделе выполнения SQL запросов.

2. Когда Вы подставляете Ваш префик, фигурные скобки {} нужно удалить.

3. При переносе сайта на хостинг webguard по моей реферальной ссылке, установка модуля будет бесплатной. В этом случае пишите в ЛС. Скину email для отправки доступов к хостингу.

УСТАНОВКА

Для установки на любом хостинге

--скопируйте содержимое папки upload в корень сайта.

--В папке sql отредактируйте файл 0001.sql , заменив в нём {prefix} на Ваш префикс таблиц магазина.

--Полученный патч наложите на базу данных.

--Замените в файле config.php строку

define('DB_DRIVER', 'mysql');

на

define('DB_DRIVER', 'mysqliz');

Иногда, если в каких-либо доп. модулях разработчики использовали mysql подключение в обход класса для работы с базами данных, переключение на mysqliz может вызывать ошибки в работе. Тогда от него прийдётся отказаться.

ОБНОВЛЕНИЕ

-- В первую очередь удалите из папки vqmod/xml все старые патчи данного модуля (000_fastopencart_webguard.pro.xml и fastopencart_webguard.pro.xml)

-- Если Вы ранее накладывали патчи на базу данных, наклыдавать требуется поочерёдно конструкции добавления индексов. Некоторые запросы, если Вы ранее их накладывали на базу выдадут ошибку (это не страшно). Главное, по очереди выполнить каждый запрос (построчно) .

Нажмите здесь, чтобы скачать файл

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
arvaal    11

Объясните пожалуйста принцип работы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Hammock    0

Объясните пожалуйста принцип работы!

 

Судя по тому, что я увидел, пока что модуль состоит из чуть переделанного стандартного класса Cache (добавлена функция makeKey, которая генерирует уникальный ключик для кеша) и из xml-ки для vqMod, которая призвана закешировать запрос из функции getProduct.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
tunasik    0

Разбор ошибок : ошибка синтаксиса, неожиданным T_IF, ожидая T_FUNCTION в / var/www/p203632/data/www/ikea46.ru/vqmod/vqcache/vq2-system_library_cache.php на линии 80

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
alexb    4

Поставил на 1.5.5.1.2. На первый взгляд работать стал пошустрее, ошибок при установке не возникло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
gandre    2

Установил на Сборка MaxyStore 1.5.4.1. Главная и категории работаю намного быстрее. Но карточка товара не работает. Белый экран. И ошибок в журнале нет? Как проверить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
serrg    1

Версия движка Остор 1 5 4 1 , в карточке товара вот это : Fatal error: Call to undefined method agooCache::makeKey() in /home/****/public_html/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 16

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
halfhope    164

Версия движка Остор 1 5 4 1 , в карточке товара вот это : Fatal error: Call to undefined method agooCache::makeKey() in /home/****/public_html/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 16

 

Это у Вас из-за модуля "Блог | Новости". Автор этого модуля добавил свою систему кэширования. Не понимаю зачем вообще он это сделал. Свяжитесь с автором, он перепишет Вам этот класс, чтобы работал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
gandre    2

Это у Вас из-за модуля "Блог | Новости". Автор этого модуля добавил свою систему кэширования. Не понимаю зачем вообще он это сделал. Свяжитесь с автором, он перепишет Вам этот класс, чтобы работал.

У меня то же стоит данный модуль. Но ошибок таких нет. Просто белая страница

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
halfhope    164

Версия движка Остор 1 5 4 1 , в карточке товара вот это : Fatal error: Call to undefined method agooCache::makeKey() in /home/****/public_html/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 16

 

У меня то же стоит данный модуль. Но ошибок таких нет. Просто белая страница

 

В файл "system/library/agoo/cache.php" перед последней закрывающей скобкой } добавьте:

public function makeKey($group, $route, $params, $md5 = false) {
        $key = "";
        
        if(count($params)>0) {
            ksort($params);
            foreach($params as $param=>$value) {
                $key .= "-.-$param--$value";
            }
        }
        
        if($md5) $key = md5($key);
        $key = $group.$route.$key;
        
        return $key;
    }

Это должно поправить ситуацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
gandre    2

Да действительно помогло. Спасибо. Теперь будем тестировать модуль дальше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
fanton123    12

Разбор ошибок : ошибка синтаксиса, неожиданным T_IF, ожидая T_FUNCTION в / var/www/p203632/data/www/ikea46.ru/vqmod/vqcache/vq2-system_library_cache.php на линии 80

 

Тоже самое. версия 1.5.4.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sasha181    10

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

 

Версия движка Остор 1 5 4 1 , в карточке товара вот это : Fatal error: Call to undefined method agooCache::makeKey() in /home/****/public_html/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 16

Попробуйте версию 1.1

 

Объясните пожалуйста принцип работы!

 

Вам правильно написали. В первой версии было добавлено кеширование на уровне карточки продукта. Это существенно разгружает главную страницу и вывод в других местах блоков с рандомными товавами.

 

С версии 1.1. Добавлен патч на базу данных. Ускоряет вывод товаров в категориях.

 

На хостинге же webguard дополнительно оптимизирована связка LAMP и сервер баз данных. Но этого в патч уже не добавишь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
markimax    1 546

Это у Вас из-за модуля "Блог | Новости". Автор этого модуля добавил свою систему кэширования. Не понимаю зачем вообще он это сделал. Свяжитесь с автором, он перепишет Вам этот класс, чтобы работал.

Автор вас услышал ;)

Я перепишу этот класс в версии 5 PRO следующей сборке (он еще с 4-ки остался). Всё будет работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
halfhope    164

Автор вас услышал ;)

Я перепишу этот класс в версии 5 PRO следующей сборке (он еще с 4-ки остался). Всё будет работать.

 

Это радует, часто оптимизирую тормозящие сайты, В профайлере при отключенных быстрых запросах всегда высвечиваются классы из папки agoo. По этому они мне не очень нравятся, хотя свою задачу они решают.

 

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

 

Попробуйте версию 1.1

 

 

Вам правильно написали. В первой версии было добавлено кеширование на уровне карточки продукта. Это существенно разгружает главную страницу и вывод в других местах блоков с рандомными товавами.

 

С версии 1.1. Добавлен патч на базу данных. Ускоряет вывод товаров в категориях.

 

На хостинге же webguard дополнительно оптимизирована связка LAMP и сервер баз данных. Но этого в патч уже не добавишь.

 

Еще советую включить в модуль поддержку mysqli, т.к. работает на порядок быстрей mysql. Можете выдернуть из 1.5.6.x либо взять отсюда класс MySQLiz который везде отлично работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
gid    2

при включении, товары перестают открываться. "товар не найден" 

в категориях соответственно тоже всё сбивается

ocstore 1.5.4.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nar4ke    0

Чет понять не могу не че! Туплю (конец рабочего дня) не пойму как 0001.sql наложить на базу ? закачал vqmod в корень сайта. Через админку бэкап-восстановление указывать 0001.sql или че ? ткните меня как сделать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sasha181    10

Еще советую включить в модуль поддержку mysqli, т.к. работает на порядок быстрей mysql. Можете выдернуть из 1.5.6.x либо взять отсюда класс MySQLiz который везде отлично работает.

Спасибо за рекомендацию. Действительно класс дал некоторый прирост. На на порядок конечно, но на эталонном магазине процентов на 10% примерно, что тоже довольно не плохо.

 

при включении, товары перестают открываться. "товар не найден" 

в категориях соответственно тоже всё сбивается

ocstore 1.5.4.1

Попробуйте установить версию 1.1.3 . Там это исправлено.

 

Чет понять не могу не че! Туплю (конец рабочего дня) не пойму как 0001.sql наложить на базу ? закачал vqmod в корень сайта. Через админку бэкап-восстановление указывать 0001.sql или че ? ткните меня как сделать :)

Дамп надо через phpmyadmin. Если не разберётесь, подождите немного. В будущих версиях всё это автоматизируется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nar4ke    0

Разобрался! Сделал через пхпадмин, -> импорт. Там указал отредактированный файл. {prefix} удалять вместе со скобками и ставить префикс своей базы данных. Например oc_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
fjeka    8

В базе данных создал индексы и заменил драйвер на mysqliz. Прироста скорости не заметил.

После добавления 2х файлов 000_fastopencart_webguard.pro.xml и fastopencart_webguard.pro.xml в папку xml сайт перестает работать и выходит ошибка:

Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.

Версия 1.5.1.3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
allsafe32    0

Спасибо за рекомендацию. Действительно класс дал некоторый прирост. На на порядок конечно, но на эталонном магазине процентов на 10% примерно, что тоже довольно не плохо.

 

Попробуйте установить версию 1.1.3 . Там это исправлено.

 

Дамп надо через phpmyadmin. Если не разберётесь, подождите немного. В будущих версиях всё это автоматизируется.

 

Скажите, пожалуйста, когда выйдет обновленная версия?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
lexxwin    22

1.5.5.1

Всё делаю по инструкции. Ошибка:

Fatal error: Cannot redeclare Cache::makeKey() in /***/vqmod/vqcache/vq2-system_library_cache.php on line 60

Удаляю 2 файла из xml, ошибки нет.
Тема у меня не дефолтная, может влиять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TeslaCo    1

1.5.5.1

Всё делаю по инструкции. Ошибка:

Fatal error: Cannot redeclare Cache::makeKey() in /***/vqmod/vqcache/vq2-system_library_cache.php on line 60

Удаляю 2 файла из xml, ошибки нет.

Тема у меня не дефолтная, может влиять?

тоже самое только в 63 строке, 

на 63 строке  к меня

if($md5) $key = md5($key);

что делать подскажите ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sasha181    10

В базе данных создал индексы и заменил драйвер на mysqliz. Прироста скорости не заметил.

После добавления 2х файлов 000_fastopencart_webguard.pro.xml и fastopencart_webguard.pro.xml в папку xml сайт перестает работать и выходит ошибка:

Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.

Версия 1.5.1.3.

Переустановите новую версию (1.2). В прошлой сборке просто по ошибке оставили старый патч в архиве (fastopencart_webguard.pro.xml). Его копировать не нужно было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sasha181    10

Скажите, пожалуйста, когда выйдет обновленная версия?

Следующая версия уже вышла, но до инсталятора руки пока не дошли. Да и там ведь всё просто. Выполнить 6 sql запросов поочерёдно в phpmyadmin не так уж и долго по времени.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От alfabus
      Всем привет борюсь с PageSpeed Insights, а именно 
      Удалите код JavaScript и CSS, блокирующий отображение верхней части страницы
      java переместил следующим образом в response.php
      public function output() { if ($this->output) { #start $_regex_scripts = '/<script[^>]*>(.*?)<\/script>/s'; $_regex_paste_position = '/<\/body>/'; preg_match_all($_regex_scripts, $this->output, $all_scripts, PREG_SET_ORDER); $this->output = preg_replace($_regex_scripts, '', $this->output); $scripts = '</body>'; foreach ($all_scripts as $key => $value) { $scripts .= $value[0].PHP_EOL; } $this->output = preg_replace($_regex_paste_position, $scripts, $this->output); #end if ($this->level) { $output = $this->compress($this->output, $this->level); } else { $output = $this->output; } if (!headers_sent()) { foreach ($this->headers as $header) { header($header, true); } } echo $output; } Знатки как сделать тоже с css? 
      Решение с java нашел на просторах интернета
    • От sasha181
      VqMod для оптимизации и ускорения opencart.
      Ускорение опенкарт в 2-5 раз в зависимости от состава дополнительных модулей.
      Результат работы модуля можно увидеть на примере магазина http://магазин-усадьба.рф/
      Особенно заметными будут результаты на магазинах с большим количеством товаров (от 1000).
      На данном этапе модуль спонсируется проектом проектом webguard.pro
      Приглашаю всех к тестированию и участию в разработке.
      С Вашей стороны будет весьма полезно узнать какой прирост дал модуль на Вашей системе или наоборот замедлил (на одной из инсталяций было и такое). При этом конечно важно отметить на какой версии или сборке opencart работает Ваш магазин и состав установленных дополнительных модулей и патчей.
      Замерять производительность можно, сравним скорость генерации страниц (главная, категории, страницы товара) до наложения патчи и после. Замерять нужно скорость первого обращения и последующих 2-3-х. Посмотреть время генерации можно, например, при помощи Firebug (расширения для firefox).
      На основании Ваших данных будет определяться ход разработки.
      Для тестирования всем желающим WebGuard предоставляет хостинг на месяц. Собственно, на этом хостинге находится и магазин из примера.
      Оформить тестовый хостинг аккаунт можно по ссылке: http://cabinet.webguard.pro/UserRegister?OwnerID=2001&Eval=ObXLcJkMG+eL2R6s3Rz3qt94DgP/R6fLtQQk3UZHzT83VvQQffVeb5aLte9p+zT5iO4AalqTDwY=
      После регистрации автоматически начинается оформление бесплатного тарифа "Opencart-demo" с 5Gb места на месяц.
      ВНИМАНИЕ!!! Многие спрашивают, как наложить sql патч на базу данных.
      1. Патч накладывать нужно через phpmyadmin, в разделе выполнения SQL запросов.
      2. Когда Вы подставляете Ваш префик, фигурные скобки {} нужно удалить.
      3. При переносе сайта на хостинг webguard по моей реферальной ссылке, установка модуля будет бесплатной. В этом случае пишите в ЛС. Скину email для отправки доступов к хостингу.
      УСТАНОВКА
      Для установки на любом хостинге
      --скопируйте содержимое папки upload в корень сайта.
      --В папке sql отредактируйте файл 0001.sql , заменив в нём {prefix} на Ваш префикс таблиц магазина.
      --Полученный патч наложите на базу данных.
      --Замените в файле config.php строку
      define('DB_DRIVER', 'mysql');
      на
      define('DB_DRIVER', 'mysqliz');
      Иногда, если в каких-либо доп. модулях разработчики использовали mysql подключение в обход класса для работы с базами данных, переключение на mysqliz может вызывать ошибки в работе. Тогда от него прийдётся отказаться.
      ОБНОВЛЕНИЕ
      -- В первую очередь удалите из папки vqmod/xml все старые патчи данного модуля (000_fastopencart_webguard.pro.xml и fastopencart_webguard.pro.xml)
      -- Если Вы ранее накладывали патчи на базу данных, наклыдавать требуется поочерёдно конструкции добавления индексов. Некоторые запросы, если Вы ранее их накладывали на базу выдадут ошибку (это не страшно). Главное, по очереди выполнить каждый запрос (построчно) .
    • От Boriskin



      Название: Продвинутое кэширование - BrainCache
      Добавил: Boriskin
      Добавлен: 13 марта 2013
      Обновлен: 15 марта 2013
      Категория: Обмен данными
      ИНСТРУКЦИЯ ПО УСТАНОВКЕ
      Что такое кэш запросов?
      Кэш запросов можно представлять себе как хеш, ключами которого являются запросы, а значениями — результаты запросов.
      В OpenCart уже есть поддержка кэша! Зачем мне нужен BrainCache?
      Использование стандартного метода кэширивания предполагает под собой работу со всеми файлами, где нужно кэширивание со всеми вытекающими отсюда последствиями:
      децентрализованный доступ к параметрам кэшеривания
      наличие множественных вызовов методов работы с кэшом в рамках всего MVC
      отсутствие правил и исключений кэшеривания для каждого запроса
      отсутствие фильтрации запросов, т.е кэшиются запросы без анализа строк
      отсутствие фильтрации прав доступа вызовов кэшеривания по Имени файла, Классу и Методу

      Что умеет BrainCache?

      1.0 beta поддержка профилей настроек кэшеривания;
      централизованный контроль и обработка всех вызовов и обращений к БД MySQL;
      выводить часто изменяющиеся данные в отдельный массив и устанавливать для каждого элемента время кэша, где 0 — запрет кэшеривания. Для удобства добавлены константы с предопределенным значением времени: МИНУТА, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, ГОД, ВИСОКОСНЫЙ ГОД;
      устанавливать стандартное значение времени кэша, при отсутвии удовлетворяющих правил кэшеривания (если правила для запроса отсутствуют или не подошли);
      установка ограничений доступа к таблицам БД не относящихся к магазину, но находящихся в рамках одной базы (Сценарий выдаст предупреждение и завершит работу);
      установка пути директории кэшеривания для текущего профиля;
      установка ограничения доступа к кэшу по времени для Классов, Методов классов, Метода Класса выполняющих запрос
      установка ограничения доступа к кэшу по времени для пути и имени выполняющих запросов скриптов;

      Фиксы:
      Исправлена ошибка доступа к админ-панели
      Оптимизирован цикл поиска по ассоционному массиву, разделена логика условий
      Добавлен редирект на страницу 404, в случае срабатывания блокирующего условия

      Совместимость:
      Проверялось на v1.5.4.1, но должен быть совместим со всеми версиями, потому, что для установки не нужно вносить множественные изменения.
      Нажмите здесь, чтобы скачать файл
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу