Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

memcached на opencart 2.3


Recommended Posts

Подскажите, пожалуйста, какой-нибудь способ (или модуль) для использования сервера memcached

 

на opencart.com есть бесплатный модуль на OC 2 но там какие-то проблемы с корзиной, да и на 2.3 не получается запустить:

 

Вношу следующие правки:

 

 

 

1. Залил файлы. В корне в файле config.php заменил на 
 

// DB
define('DB_DRIVER', 'mysqli_memcached');

 2. в index.php не было следующих строк, но вставил их как в инструкции:

 

в index.php null вместо file 

// Cache
$cache = new Cache('null');
$registry->set('cache', $cache);

 

 

В итоге ошибка, что в файле index.php нет класса cache в 17 строке (как раз то что описано выше)

 

 

Змінено користувачем wizand
Надіслати
Поділитися на інших сайтах


В файле  system/config/default.php

значения 

$_['cache_type']           = 'file'; // apc, file or mem 
$_['cache_expire']         = 3600;

конфиги

// Cache
define('CACHE_DRIVER', 'mem'); // 'file', 'apc' or 'mem'
define('CACHE_HOSTNAME', 'localhost');
define('CACHE_PORT', '11211');
define('CACHE_PREFIX', 'oc_');

 

  • +1 2
Надіслати
Поділитися на інших сайтах

Уже начиная по моему с 2.1 - поддержка memcache включена нативно в ядро Opencart.

Для 2.3, @Tom совершенно правильно написал решение. 
Для 2.1 необходимо в файле index.php заменить в инциализации класса ('file') на 'mem'.


Ну и да - добавить настройки подключения к демону в config.php опять же как написано выше.

Никаких сторонних модулей не требуется.

Надіслати
Поділитися на інших сайтах


6 минут назад, rassigor сказал:

разное про это читал, а на ваш эспертный взгляд надо его включить или нет?

 

Все зависит от версии opencart, хостинга, состояния дисков на хостинге, количества товаров, трафика (посетители + боты).

Если на магазине до 10 000 просмотров в день и нормальный ssd и у вас нету 200 соседей на сервере - то разница будет незаметна.

 

А вот если у вас дешевый виртуальный хостинг, древние диски, а тем более opencart 1.5 - то прирост будет огромный. 

 

Также прирост производительности от memcache значительно ощутим в случаях - если у вас очень много файлов в кеше или какие-либо дополнения хрянат большие объемы данных в кеше.

 

По факту для среднестатистического магазина на 2-5000 товаров с 500 униками в сутки на версиях 2.x и на нормальном хостинге, разница будет в пределах статистической погрешности в несколько десятков миллисекунд.

  • +1 1
Надіслати
Поділитися на інших сайтах


24 минуты назад, Yoda сказал:

 

Все зависит от версии opencart, хостинга, состояния дисков на хостинге, количества товаров, трафика (посетители + боты).

Если на магазине до 10 000 просмотров в день и нормальный ssd и у вас нету 200 соседей на сервере - то разница будет незаметна.

 

А вот если у вас дешевый виртуальный хостинг, древние диски, а тем более opencart 1.5 - то прирост будет огромный. 

 

Также прирост производительности от memcache значительно ощутим в случаях - если у вас очень много файлов в кеше или какие-либо дополнения хрянат большие объемы данных в кеше.

 

По факту для среднестатистического магазина на 2-5000 товаров с 500 униками в сутки на версиях 2.x и на нормальном хостинге, разница будет в пределах статистической погрешности в несколько десятков миллисекунд.

Хм есть у знакомого магаз на 60 тыс товаров, там как раз 1.5, Хостинг SSD, 2 ядра, 2 гб рам, все быстро, пока не начинаешь открывать каталог. Может открываться 2-4 сек. Те туда порекомендуете ставить? Посетителей до 100 в день

Надіслати
Поділитися на інших сайтах


12 минут назад, rassigor сказал:

Хм есть у знакомого магаз на 60 тыс товаров, там как раз 1.5, Хостинг SSD, 2 ядра, 2 гб рам, все быстро, пока не начинаешь открывать каталог. Может открываться 2-4 сек. Те туда порекомендуете ставить? Посетителей до 100 в день


В данной ситуации одного мемкеша мало.

1) Нужно начинать с настроек конфигурации mysql-сервера, так как по дефолту в любой операционной системе при установке mysql, ставиться конфиг, который рассчитан на минимальную конфигурацию, и на моей практике в 90% случаев ресурсы серверов просто простаивают. Если проводить аналогию - это купить огромный дом, но жить на кухне, потому что в спальню ключ потеряли.

2) После переходить к анализу базы и построению правильных индексов (универсальных нет, все зависит от структуры каталога, установленных модулей и настроек сервера). Так к примеру пара составных индексов на таблице product, могут давать огромный прирост в подсчете товаров, но тут же убивать производительность фильтра.

3) Если это 1.5 - то необходимо менять системный класс кеша.

4) Анализировать нагрузку от ботов - выгонять их через noindex follow и потом закрывать в robots.txt

5) Анализировать общее количество запросов и какими либо кешерами стараться его уменьшить.

6) Попробовать отказаться от кеша в сеопро. Так как парсинг файла в объект на 120 000 элементов - это может быть дольше чем 200-300 атомарных запросов в базу.

И вот после этого, можно смотреть в сторону мемкеша и глобального кеширования html.

  • +1 3
Надіслати
Поділитися на інших сайтах


Может кто сталкивался:

 

настроил memcached, gzip прописал в htaaccess, перестали оформляться заказы (стоит модуль Simple) - при изменении способа доставки, оплаты, изменении адреса не пересчитывается заказ. Автор модуля посоветовал отключить сжатие и кэширование.

Я отключил gzip и memcached. Все заработало. Включил gzip. заказы оформляются

 

Все-таки memcached необходим на Opencart 2.3 магазину далеко не уровня wilberries :D

Надіслати
Поділитися на інших сайтах


С simple есть проблемы при включенном сжатии в админки - это давно известный глюк, к memcache они отношения никакого не имеют!

Равно как и кеширование статики никак не влияет на работу оформления заказов.

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Я так понимаю, ОС 2,3 работает с memcache. Как быть с memcached?

Вот такое найдено https://github.com/opencart/opencart/blob/master/upload/system/library/cache/memcached.php

но, по-видимому, для ОС 3.

Змінено користувачем alesceme
Надіслати
Поділитися на інших сайтах


  • 1 month later...

Здравствуйте, подскажите пожалуйста. Хостинг beget, включил Memcached. Версия ocStore 2.1.0.2.1.

В файле config.php добавил 

define('CACHE_DRIVER', 'mem'); // 'file', 'apc' or 'mem'
define('CACHE_HOSTNAME', 'localhost');
define('CACHE_PORT', '11211');
define('CACHE_PREFIX', 'oc_');
 

В файле index.php

поменял

$cache = new Cache('file');

на

$cache = new Cache('mem');

 

Гугл PageSpeed Insights:

Но появилось такая надпись

Сервис PageSpeed Insights получил от сервера ответ 503.

Что это означает? Что то сделано не так?

Спасибо заранее.

 

2017-09-10 12-21-47 PageSpeed Insights — Яндекс.Браузер.png

Змінено користувачем termotorg
Надіслати
Поділитися на інших сайтах


30 минут назад, nikifalex сказал:

только гугль? а вы сами пробовали сайт открыть? работает?

Разобрался, спасибо.

Змінено користувачем termotorg
Надіслати
Поділитися на інших сайтах


  • 1 month later...
В 23.05.2017 в 07:05, Yoda сказал:

С simple есть проблемы при включенном сжатии в админки - это давно известный глюк, к memcache они отношения никакого не имеют!

Равно как и кеширование статики никак не влияет на работу оформления заказов.

Мне только сейчас скинули копипасту сообщения, что несколько меня удивило.

Сжатие не имеет отношение к моему модулю и на его работу не влияет никак. Сжатие обычно не работает только потому, что в поток попадают символы до заголовков и браузер не может распаковать контент. Чаще всего это бом символы с модулей доставки, оплаты либо других, которые правят в винодовом блокноте и он их вставляет. Порой это нотисы об ошибках или чем-то подобном. Удаление бом символов, исправление нотисов решает проблему со сжатием.

Поэтому заявление подобного рода, что это давно известный глюк, некорректно.

  • +1 1
Надіслати
Поділитися на інших сайтах

5 минут назад, deeman сказал:

Мне только сейчас скинули копипасту сообщения, что несколько меня удивило.

Сжатие не имеет отношение к моему модулю и на его работу не влияет никак. Сжатие обычно не работает только потому, что в поток попадают символы до заголовков и браузер не может распаковать контент. Чаще всего это бом символы с модулей доставки, оплаты либо других, которые правят в винодовом блокноте и он их вставляет. Порой это нотисы об ошибках или чем-то подобном. Удаление бом символов, исправление нотисов решает проблему со сжатием.

Поэтому заявление подобного рода, что это давно известный глюк, некорректно.

 

Так или иначе такое явление очень часто присутствовало и присутствует.  
Не совсем понятно что здесь некорректного ?

  • +1 1
Надіслати
Поділитися на інших сайтах


1 минуту назад, Yoda сказал:

Так или иначе такое явление очень часто присутствовало и присутствует.  
Не совсем понятно что здесь некорректного ?

А причем тут мой модуль? Сжатие любой страницы сломается, если в поток попадут символы. Фраза же написана так, что это проблема моего модуля и на неё сейчас сослался другой пользователь при обращении ко мне.

  • +1 3
Надіслати
Поділитися на інших сайтах

Это всё к тому, что вещи следует называть своими именами.

Привожу пример:

- Пользователь правит название варианта доставки в его языковом файле в блокноте, сохраняет его в utf-8 with bom

- Мой модуль грузит модули доставки, те свои языковые файлы. При загрузке языкового файла бом символ находится до <?php, соответственно сразу попадает в поток.

- В итоге браузер сжатый контент распаковать не может

Отключаем мой модуль, проходим до шага доставки в стандартном заказе, видим ту же самую картину с шагом доставки стандартного заказа.

Причем проблема может повториться вообще на любом шаге стандартного заказа по тем же самым причинам.

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

Вы эксперт, слова которого для остальных пользователей нечто вроде слов от заместителя бога. Крайне неприятно после таких слов объяснять пользователям, что я не дурак и дело не в модуле.

  • +1 2
Надіслати
Поділитися на інших сайтах

  • 4 weeks later...
В 18.05.2017 в 21:00, Tom сказал:

В файле  system/config/default.php

значения 


$_['cache_type']           = 'file'; // apc, file or mem 
$_['cache_expire']         = 3600;

конфиги


// Cache
define('CACHE_DRIVER', 'mem'); // 'file', 'apc' or 'mem'
define('CACHE_HOSTNAME', 'localhost');
define('CACHE_PORT', '11211');
define('CACHE_PREFIX', 'oc_');

 

Здравствуйте, не могли бы вы подсказать как подключить сервис Memcached. Хочется попробовать какие будут показатели pagespeed. Пользуюсь сервером beget, там  есть кнопка включить и все. Инструкции есть для многих cms, но не для opencart. Написано включено, а что делать дальше не знаю))
Версия движка ocStore 2.1.0.2.1
Спасибо заранее!

Screenshot.png

Змінено користувачем termotorg
Надіслати
Поділитися на інших сайтах


  • 9 months later...

Поставил у себя на сервере этот memcached+php-memcache и сайт стал работать медленней... С чем это может быть связано? Прям тупит по пару сек. на загрузку страницы

Надіслати
Поділитися на інших сайтах


6 минут назад, 20strannik08 сказал:

Поставил у себя на сервере этот memcached

 

Для тестирования и диагностики сервера memcached,  а также для управления ключами можете использовать модуль Компрессор (вкладка Сервис).

Для Опенкарт не существует средств управления memcached,  но они есть в моем модуле Компрессор.

 

ab69b643c5.jpg

 

a13a08e5d1.jpg

Надіслати
Поділитися на інших сайтах

  • 1 month later...

хостин Beget.... поменял файл конфига, но сайт встал, что не правильно сделал...?

 

В файле  system/config/default.php

значения 

$_['cache_type']           = 'file'; // apc, file or mem 
$_['cache_expire']         = 3600;

конфиги

// Cache
define('CACHE_DRIVER', 'mem'); // 'file', 'apc' or 'mem'
define('CACHE_HOSTNAME', 'localhost');
define('CACHE_PORT', '11211');
define('CACHE_PREFIX', 'oc_');
Надіслати
Поділитися на інших сайтах


1 час назад, Andrey555 сказал:

хостин Beget.... поменял файл конфига, но сайт встал, что не правильно сделал...?

 

В файле  system/config/default.php

значения 


$_['cache_type']           = 'file'; // apc, file or mem 
$_['cache_expire']         = 3600;

конфиги


// Cache
define('CACHE_DRIVER', 'mem'); // 'file', 'apc' or 'mem'
define('CACHE_HOSTNAME', 'localhost');
define('CACHE_PORT', '11211');
define('CACHE_PREFIX', 'oc_');

 

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.