[Помогите] Как Ускорить работу Opencart?

Тема в разделе "OpenCart", создана пользователем danko, 4 дек 2012.

  1. danko

    danko

    Регистрация:
    7 ноя 2012
    Сообщения:
    17
    Симпатии:
    7
    Уважаемые разработчики, поделитесь пожалуйста опытом о том, как ускорить работу Opencart? Возможно есть какие-то общие рекомендации или кто-нибудь нашел панацею, с которой сайт будет летать?
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    использовать кэширование.

    1. Поддержка кэширования через Memcached.

    Установка:
    1. Берете файл cache.php и перезаписываете им файл system/library/cache.php. Эта процедура не нарушит работу сайта - будет использоватся обычный файловый кэшь.
    2. Устанавливаете в системе (или на другом сервере) сервер memcached и запускаете его. Это делается просто - без каких-то особенностей. Единственное, что если будете использовать кэширование в memcached совместно с mysql_cached, скорей всего в конфиге memcached нужно будет увеличить размер используемой памяти. На CentOS, например, после установки выделяется 65 Мб.
    2. Идете в корень магазина и текстовым редактором дописываете в config.php строки конфигурации (с параметрами своего memcached сервера):

    define('CACHE_DRIVER', 'memcached');
    define('MEMCACHE_HOSTNAME', 'localhost');
    define('MEMCACHE_PORT', '11211');
    define('MEMCACHE_NAMESPACE', 'opencart_test');

    Если в CACHE_DRIVER установлено другое значение или нет подключения к memcached серверу, будет использоваться стандартный файловый кэш.
    Рекомендую эти-же параметры прописать в файле конфигурации админки - admin/config.php. Сейчас это не очень принципиально, но, надеюсь, в будущем в админке добавяться опции управления кэшем.
    Параметр MEMCACHE_NAMESPACE нужен для варианта когда одним сервером memcached будут пользоваться разные магазины - для разделения их кэшей.
     
    Nemo-tec нравится это.
  3. danko

    danko

    Регистрация:
    7 ноя 2012
    Сообщения:
    17
    Симпатии:
    7
    Из техподдержки хостинга по поводу сервера memcached мне ничего не ответили. Может его можно самостоятельно подключить как-то?
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    нет.
     
    Toxa нравится это.
  5. danko

    danko

    Регистрация:
    7 ноя 2012
    Сообщения:
    17
    Симпатии:
    7
    Вот что написано на Opencart Форуме:
    Может кто-то объяснить чайнику что все это значит? И стоит ли?
     
  6. deyw

    deyw

    Регистрация:
    26 ноя 2012
    Сообщения:
    9
    Симпатии:
    2
    1. Memcached Вы можете поставить если у Вас есть root-доступ к выделенному серверу (dedicated) сами, или через тех. поддержку хостинга
    2. По оптимизации нужно смотреть в контроллеры категорий, меню категорий, если стоит версия опенкарт 1.5 убрать подсчет количества товара.
    3. Оптимизация настроек mysql (также root доступ).
    4. Включить gzip зжатие страниц (в админке опенкарт). Задаеться значениями от 0 до 9. На сервере PHP должен поддерживать gzip.

    У самого два сайта на 0.2.2 ocstore со своими допилами. на одном : около 600 категорий, 8 тис товаров. Страничка примерно грузится 1-1.5 сек ( с сторонними ява скриптами). Сами мы Memcached Не используем.
     
  7. Toxa

    Toxa

    Регистрация:
    10 дек 2012
    Сообщения:
    56
    Симпатии:
    12
    $iD, спасибо за подробное объяснение. Можно сразу пару вопросов?

    Где его брать?

    У меня тоже CentOS, как понять, достаточно ли этого значения?

    И еще вопрос к deyw

    На какие конкретно параметры стоит обратить внимание?

    Я не сосвем пойму чем черевато выставление максималного значения. По логике - если поставить 9, то будет максимальное сжатие, соответственно загрузка будет максимально быстрой, но будет более высокая нагрузка на сервер?

    И вопрос по теме для всех - не мойму какова суть работы дополнения Increase Page Speed - http://www.opencart.com/index.php?r...ion_id=6204&filter_search= page speed improve
    Имеет ли смысл ставить подобные вещи?

    Заранее спасибо за ответы!
     
  8. Opss31

    Opss31

    Регистрация:
    10 дек 2012
    Сообщения:
    14
    Симпатии:
    2
    Код править? В админке вроде этих настроек нет или не вижу явного.
    - Подскажите пожалуйста как убрать подсчет количества товара?
     
  9. Toxa

    Toxa

    Регистрация:
    10 дек 2012
    Сообщения:
    56
    Симпатии:
    12
    У меня на OpenCart 1.5.1.3 в админке: Система -> Настройки -> Опции -> Продукты -> Category Product Count: Show the number of products inside the subcategories in the storefront header category menu. Be warned, this will cause an extreme performance hit for stores with a lot of subcategories - установить Нет
     
  10. Opss31

    Opss31

    Регистрация:
    10 дек 2012
    Сообщения:
    14
    Симпатии:
    2
    ocStore © 2009-2012 All Rights Reserved.
    Version 1.5.2.1
    пункт "товар" после "опции" нету :(

    [​IMG]
     
    shrot нравится это.
  11. KoHcTaHTuHblLj

    KoHcTaHTuHblLj

    Регистрация:
    9 ноя 2012
    Сообщения:
    157
    Симпатии:
    11
    В 1.5.4.1 это не поможет. В 1.5.3.1 - помогает.
     
  12. SerfRider

    SerfRider

    Регистрация:
    24 окт 2012
    Сообщения:
    24
    Симпатии:
    1
    Для скорости работы имеет занчение исходный вес загружаемых картинок или движок их всё равно решет под себя? К примеру, ингда слайд-шоу грузится очень долго, возможно, что это из-за размера картинок в нём?
     
  13. einshtein

    einshtein

    Регистрация:
    3 дек 2012
    Сообщения:
    71
    Симпатии:
    28
    Размер тоже имет значение (:biggrin:). Делал както анализ производительности сайта. Так вот при загрузке главной страницы, больше всего времени тратится на загрузку изображений из слайдера.
    Неплохим решением для ускорения работы движка есть - загрузка библиотек jquery с удаленных ресурсов
    Для этого нужно скрипты из header.tpl ссылающиеся на catalog\view\javascript\jquery\jquery-1.7.1.min.js заменить на http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js
    Ну и по такому же принципу остальные
     
  14. OldAine

    OldAine

    Регистрация:
    26 окт 2012
    Сообщения:
    2
    Симпатии:
    14
    Я думаю вы найдете интересным посетить эти сайты: 1 2 3 4 5
     
  15. samuel_L

    samuel_L

    Регистрация:
    6 окт 2012
    Сообщения:
    221
    Симпатии:
    132
    имеет значение. изображения должны быть как минимум оптимизированы
    интересно почитать здесь
     
    SerfRider нравится это.
  16. SerfRider

    SerfRider

    Регистрация:
    24 окт 2012
    Сообщения:
    24
    Симпатии:
    1
    - спасибо! И ещё вопрс: картинки слайд шоу загружаются все сразу или по мере их показа? К примеру, если уменьшить интервал слай-шоу ускорит это скорость загрузки первой страницы?
     
  17. samuel_L

    samuel_L

    Регистрация:
    6 окт 2012
    Сообщения:
    221
    Симпатии:
    132
    есть кнопочка "мне нравится")))))
    для firefox есть плагин firebug, в него ставится google page speed
    взять тут
    https://developers.google.com/speed/pagespeed/?hl=ru
    очень хорошо анализирует скорость загрузки и помогает найти тормоза. дает рекомендации, позволяет оптимизировать изображения, jquery,css - в общем MUST HAVE если желаете ускорить сайт


    слайдшоу по идее все сразу грузит. я его вообще убрал, весит как весь мой сайт остальной))) может его тоже както можно оптимизировать. кто знает - пишите
     
    SerfRider нравится это.
  18. Toxa

    Toxa

    Регистрация:
    10 дек 2012
    Сообщения:
    56
    Симпатии:
    12
    Никто случаем не встречал проги, которая бы оптимизировала изображения без визуальной потери качества? Я пользуюсь сейчас фунцкией в фотошопе "Сохранить для Web", в зависимости от настроек можно добится нужного результата, но вдруг еще можно сэкономить пару килобайт ))

    Как раз - оптимизировать картинки в фотошопе функцией Сохранить для Web :Smile:
     
  19. saeedena

    saeedena

    Регистрация:
    29 ноя 2012
    Сообщения:
    5
    Симпатии:
    1
    Run this commands in your database in PHPMyadmin:

    Source:
    http://forum.opencart.com/viewtopic.php?f=20&t=39759#p191059

    Код:
    ALTER TABLE `category` ADD INDEX ( `parent_id` ) ;
    ALTER TABLE `category` ADD INDEX ( `top` ) ;
    ALTER TABLE `category` ADD INDEX ( `sort_order` ) ;
    ALTER TABLE `category` ADD INDEX ( `status` ) ;
    ALTER TABLE `option` ADD INDEX ( `sort_order` ) ;
    ALTER TABLE `option_description` ADD INDEX ( `name` ) ;
    ALTER TABLE `option_value` ADD INDEX ( `option_id` ) ;
    ALTER TABLE `option_value_description` ADD INDEX ( `option_id` ) ;
    ALTER TABLE `order` ADD INDEX ( `customer_id` ) ;
    ALTER TABLE `product` ADD INDEX ( `model` ) ;
    ALTER TABLE `product` ADD INDEX ( `sku` ) ;
    ALTER TABLE `product` ADD INDEX ( `upc` ) ;
    ALTER TABLE `product` ADD INDEX ( `manufacturer_id` ) ;
    ALTER TABLE `product` ADD INDEX ( `sort_order` ) ;
    ALTER TABLE `product` ADD INDEX ( `status` ) ;
    ALTER TABLE `product_option` ADD INDEX ( `option_id` ) ;
    ALTER TABLE `product_option_value` ADD INDEX ( `product_option_id` ) ;
    ALTER TABLE `product_option_value` ADD INDEX ( `product_id` ) ;
    ALTER TABLE `product_option_value` ADD INDEX ( `option_id` ) ;
    ALTER TABLE `product_option_value` ADD INDEX ( `option_value_id` ) ;
    ALTER TABLE `product_tag` ADD INDEX ( `product_id` ) ;
    ALTER TABLE `product_tag` ADD INDEX ( `tag` ) ;
    ALTER TABLE `url_alias` ADD INDEX ( `query` ) ;
    ALTER TABLE `url_alias` ADD INDEX ( `keyword` ) ;
    ALTER TABLE `user` ADD INDEX ( `username` ) ;
    ALTER TABLE `user` ADD INDEX ( `password` ) ;
    ALTER TABLE `user` ADD INDEX ( `email` ) ;
     
    halfhope нравится это.
  20. samuel_L

    samuel_L

    Регистрация:
    6 окт 2012
    Сообщения:
    221
    Симпатии:
    132

    что это? добавляет индексы? на сколько возрастает скорость на практике? судя по англоязычному форуму с 50 сек поиск ускорился до 5) если ли опыты на ocstore?