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

memcached на opencart 2.3


Recommended Posts

В 16.11.2019 в 18:26, storer сказал:

Благодарю за решение.

Может подскажите как это внедрить? В какой-то файл нужно добавить этот код?

 

Вопрос вновь актуален. Я так понял нужно добавить код в файл .../admin/controller/octeam_tools/seo_manager.php

Но куда именно? Чудит теперь сеопро с этим мемкэшд

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


  • 1 month later...
  • 3 months later...
В 26.05.2019 в 14:15, iidds сказал:

Настройка для opencart 2.3

 

Для сайта на VPS делаем следующую процедуру,

если данная услуга предоставляется хостинг провайдером пропускаем и переходим к настройкам в корневой папке сайта 

создаем в корневой папке сайта файл infophp.php

В файл добавляем <?php phpinfo () ?>

Далее открываем файл в браузере http://mydomen.com/infophp.php

Смотрим наличие модуля memcached 

 

Проверка наличия библиотеки Memcached для PHP

набрать в командной строке

php -i |grep memcache

 

ответ:

memcache

memcache support => enabled

memcache.allow_failover => 1 => 1

memcache.chunk_size => 32768 => 32768

memcache.compress_threshold => 20000 => 20000

memcache.default_port => 11211 => 11211

memcache.hash_function => crc32 => crc32

memcache.hash_strategy => consistent => consistent

memcache.lock_timeout => 15 => 15

memcache.max_failover_attempts => 20 => 20

memcache.protocol => ascii => ascii

memcache.redundancy => 1 => 1

memcache.session_redundancy => 2 => 2

Registered save handlers => files user memcache

 

Если не выводится устанавливаем: (команда для centos7)

yum install php-pecl-memcache

рестарт apache

/etc/init.d/httpd restart

Опять Проверка работоспособности

php -i |grep memcache

 

 

Далее меняем:

 

config.php

admin/config.php

// Cache
define('CACHE_HOSTNAME', 'localhost');
define('CACHE_PORT', '11211');
define('CACHE_PREFIX', 'oc_');

 

system/config/default.php

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

 

Далее в папке 

system/storage/cache/

 

удаляем все файлы кроме index.html

переходим на сайт и делаем переходы по страницам

 

обновляем папку system/storage/cache/

если файлы в кэше не появляются все ОК

 

Спасибо за инструкцию, только ваш метод сработал без ошибок. Не подскажите, как настроить метод APC?

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


  • 1 year later...
В 15.11.2019 в 07:21, nikifalex сказал:

очевидно стандартным способом



$m = new Memcached();
$m->addServer('localhost', 11211);
echo($m->flush(0));

Добрый день, подскажите, пожалуйста куда это вставить в OcStore 3.0.3.7

И если, не затруднит, можете подсказать как протестировать пользу от Memcached?
Пытался потестировать с помощью ab, но что с кешифрование в файл, что Memcached не замечаю уменьшения скорости отдачи страницы. Что так, что так примерно 1000мс. При этом кеш точно используется, стаститика идет, папка storage/cache/ пустая. За одним исключением, там storage/cache/template все равно с файлами, но это я так понимаю к разработчикам шаблона.  Они сказали копать куда-то в cторону https://symfony.com/doc/current/components/cache/adapters/memcached_adapter.html.
$ ab -n 100 -c 10 https://domain.ru/


@TomМожет Вы тоже что-то подскажите или посоветуете?

 

Странно как-то реализована поддержка Memcached в опенкарте ... с кучей допилов и недоработок. 

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


В 15.11.2019 в 07:21, nikifalex сказал:

очевидно стандартным способом


$m = new Memcached();
$m->addServer('localhost', 11211);
echo($m->flush(0));

 

Нашел функцию systemcache в файле admin/controller/common/developer.php, но никак не могу пристроить Ваш код туда 😅😅😅
Выдает ошибку 
SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 2 of the JSON data
OK
1{"success":"\u0412\u044b \u043e\u0447\u0438\u0441\u0442\u0438\u043b\u0438 \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043a\u044d\u0448!"}

 

Мне кажется эта команда единичку в начале дописывает.
echo($m->flush(0));
Наверное в нулл как-то перенаправить нужно.

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


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

уберите echo и все

 

Спасибо, помогло 👍🤝

 

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

используется для чего? Что именно вы кэшируете?


Ну теоретически должно тестироваться на вскидку:
1. SEO URL
2. Валют
3. OCFilter фильтры
4. Корзина товаров

Т. е., судя по коду, все что было до этого в DIR_CACHE . 'cache.*'


Шаблоны из папки  storage/cache/template пока не знаю как загнать в кеш. И стоит ли это делать тоже не знаю.

Если я правильно понял Ваш намек, сначала нужно найти страницу с чем-то громоздким, что кешировалось и потом натравить ab?
Буду благодарен за подсказку ... пока попробую потестировать на фильтрах.

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


2 часа назад, nikifalex сказал:

ну да, тогда вы на правильном пути. разбирайтесь дальше. Просто совсем не факт что кэширование в memcache даст какой-то прирост. Это дело такое....

лучше всего тайминги писать в лог и искать именно то что тормозит.

 

В принципе погонял. Получается примерно 6 - 8мс каждый запрос  HTML документа шустрее стал.
Пропали неудачные запросы при тестировании через ab. На файловом кеше примерно 9 - 10 запросов падало с ошибкой.
$ ab -n 100 -c 10 https://domain.ru/category
Не знаю на сколько получились уместными мои тесты.
Наверное оставлю пока включенным.

 

Единственный вопрос остался на сколько аккуратен Ваш код по очистке кеша?
Т. е. в конфигах прописан префикс для ключей Memcached. А в очистке он не упоминается. Т. е. получается в момент очистки кеша, кеш очиститься и у соседних сайтов, которые используют memcahed?

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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