Ускорение Opencart 1.5 бесплатно и без смс

Тема в разделе "Opencart", создана пользователем unfume, 15 ноя 2015.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. unfume

    unfume Редиска

    Регистр.:
    20 янв 2014
    Сообщения:
    519
    Симпатии:
    208
    Итак, если нужно срочно заставить движок работать быстро и нет времени заниматься супероптимизацией ниже будет несколько советов.

    1. Начнем с карты сайта, ее генерация может положить любой сервер, я советую поставить этот модуль


    2. Дальше идем в phpmyadmin, выделяем все таблицы и нажимаем кнопку оптимизировать
    [​IMG]

    3. Добавляем индексы таблиц, в phpmyadmin идем во вкладку sql и выполняем код что ниже
    Код:
    ALTER TABLE oc_product_attribute ADD INDEX attribute_id ( attribute_id );
    ALTER TABLE oc_product_attribute ADD INDEX language_id ( language_id );
    
    ALTER TABLE oc_product_description ADD INDEX language_id ( language_id );
    
    ALTER TABLE oc_product_image ADD INDEX product_id ( product_id );
    ALTER TABLE oc_product_image ADD INDEX sort_order ( sort_order );
    
    ALTER TABLE oc_product_option ADD INDEX product_id (product_id);
    ALTER TABLE oc_product_option ADD INDEX option_id (option_id);
    
    ALTER TABLE oc_product_option_value ADD INDEX product_option_id (product_option_id);
    ALTER TABLE oc_product_option_value ADD INDEX product_id (product_id);
    ALTER TABLE oc_product_option_value ADD INDEX option_id (option_id);
    ALTER TABLE oc_product_option_value ADD INDEX option_value_id (option_value_id);
    ALTER TABLE oc_product_option_value ADD INDEX subtract (subtract);
    ALTER TABLE oc_product_option_value ADD INDEX quantity (quantity);
    
    ALTER TABLE oc_product_reward ADD INDEX product_id ( product_id );
    ALTER TABLE oc_product_reward ADD INDEX customer_group_id ( customer_group_id );
    
    ALTER TABLE oc_product_to_category ADD INDEX category_id ( category_id );
    
    ALTER TABLE oc_product_to_store ADD INDEX store_id ( store_id );
    
    ALTER TABLE oc_setting ADD INDEX store_id ( store_id );
    ALTER TABLE oc_setting ADD INDEX `group` ( `group` );
    ALTER TABLE oc_setting ADD INDEX `key` ( `key` );
    ALTER TABLE oc_setting ADD INDEX serialized ( serialized );
    
    ALTER TABLE oc_url_alias ADD INDEX query ( query );
    
    если префикс таблиц не oc_ меняем на свой, если будут ошибки, игнорируем их, значит индексы есть

    4. Теперь ставим модуль кеширования отсюда https://github.com/budgetneon/pagecache
    и настраиваем по инструкции. Чтобы он заработал с темой journal2, в журнале нужно влючить минификацию, само кеширование можно отключить
    Чтобы закешировать сайт по https в папке system\library\pagecache.php в 139 строке меняем false на true

    Все выше не истина в последней инстанции, но за 10 минут можно добавиться результата и не вешать сервер. Соб-но потом можно и заняться более плотной настройкой
     
    mefisto и drozd22 нравится это.
  2. Оптимус Прайм

    Оптимус Прайм

    Регистр.:
    28 окт 2015
    Сообщения:
    264
    Симпатии:
    83
    карта и кеш-модуль только для 1.5 ?
    что даёт оптимизация таблиц?
     
  3. unfume

    unfume Редиска

    Регистр.:
    20 янв 2014
    Сообщения:
    519
    Симпатии:
    208
    карта на 2-ку подходит, оптимизация по идее размером занимается и чистит от мусора
     
  4. Moonwalker

    Moonwalker

    Регистр.:
    22 ноя 2013
    Сообщения:
    270
    Симпатии:
    81
    Пробовал уже pagecache ставить, но у меня проблема в том, что MegaFilter PRO на закэшированных страницах отваливается. В смысле, перечень опций/атрибутов на выбор показывает, но выбрать их не дает )) Плюс на главной крутится карусель последних купленных товаров, с кэшем она, естественно, тоже не обновляется. А так, конечно, в теории все летает. Еще бы добиться, чтобы функционал не отваливался ))
    Кроме того, он кэширует наличие товара (включая опции). После каждого изменения остатков/покупки сбрасывать кэш устанешь =/
     
    Последнее редактирование: 15 ноя 2015
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.244
    Добавляет индексы, теоретически это должно ускорить выборки данных, что позитивно скажется на скорости работы. Судя по именам полей индексы полезные и странно, что они не были добавлены разработчиками. Но на практике это не всегда во благо. Плюс это немного замедлит добавление новых опций для продукта.

    Размер занимаемый БД увеличится, никаких чисток нет.