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

wizand    0

Подскажите, пожалуйста, какой-нибудь способ (или модуль) для использования сервера 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

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


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

В файле  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_');

 

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


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

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

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


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

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

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
Yoda    441
6 минут назад, rassigor сказал:

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

 

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

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

 

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

 

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

 

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

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


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

Всем спасибо!

 

Самая подробная инструкция, которую я видел, по крайней мере, на первых страницах 7 яндекса в поиске :D

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


Ссылка на сообщение
Поделиться на другие сайты
rassigor    25
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 в день

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


Ссылка на сообщение
Поделиться на другие сайты
Yoda    441
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.

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


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

Тяжелый случай....Ладно спасибо за консультацию. Тут надо воспользоваться советом "пригласите специалиста)"

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


Ссылка на сообщение
Поделиться на другие сайты
pimur    116
1 час назад, rassigor сказал:

до воспользоваться советом "пригласите специалиста)"

@Yoda тот самый специалист, его и пригласите)

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


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

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

 

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

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

 

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

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


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

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

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

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


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

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

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

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

Изменено пользователем alesceme

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


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

На сколько я знаю это уже относится к версии php 7.

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


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

Здравствуйте, подскажите пожалуйста. Хостинг 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

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
termotorg    7
30 минут назад, nikifalex сказал:

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

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

Изменено пользователем termotorg

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


Ссылка на сообщение
Поделиться на другие сайты
deeman    752
В 23.05.2017 в 07:05, Yoda сказал:

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

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

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

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
Yoda    441
5 минут назад, deeman сказал:

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

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

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

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
deeman    752
1 минуту назад, Yoda сказал:

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти


  • Последние посетители   0 пользователей онлайн

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