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

Opencart3 и MYSQLI_Memcached (Memcached Speed Booster) драйвер проблемы


Recommended Posts

взял этот модуль
 
 
сайты начинают реально летать.
OpenCart 3.0.3.1-rs2
у меня стоит еще Journal3  тема и недавно перевел сайт на PHP 7.2 -  это инфа для полной картины.
 
столкнулся с тем, что при включенном драйвере пользователи не могут залогиниться в свой аккаунт.
 
т.е. после введения логин/пароль снова перебрасывает на страницу для входа
при этом в админке пишет, что пользователь "совершил вход"
 
автор модуля Shaman (Евгений) Lifescale к сожалению c осени 2016 года своих новых координат не дал и на связь пока не выходит и координат его раздобыть не получается.
 
может кто подскажет куда копать и смотреть, потому что уж очень быстро начинают откликаться сайты с этим драйвером.
Надіслати
Поділитися на інших сайтах


9 minutes ago, stickpro said:

используйте редис

пробовал и redis - и как кэш + как менеджер сессий
а именно redis  для базы данных - пока не видел драйвера.

все равно этот драйвер реально быстрее - даже на глаз видно как сайт начинает летать.

потому и хочется разобраться с проблемой - почему не дает залогиниться.

там в коде есть одно место:
 

$select_id = (0 <= stripos($sql, 'SELECT') && !stripos($sql, 'FROM ' . DB_PREFIX . 'cart')) ? sha1($sql) : false;

 

и вот это  sha1($sql мне кажется "подозрительным"
в предыдущих версиях MySQL-cacahe для 1.5 и 2.0 там стояло md5($sql
и у меня такое ощущение, что из-за этого шифрования, которое от версии к версии меняется?

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


посоветовали добавить еще проверку таблицы user , точнее  исключить таблицу из кэша, как и cart.
наверное как-то так.

 $select_id = (0 <= stripos($sql, 'SELECT') && ( !stripos($sql, 'FROM ' . DB_PREFIX . 'cart') || !stripos($sql, 'FROM ' . DB_PREFIX . 'user') ) ) ? sha1($sql) : false;

буду пробовать

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


On ‎10‎/‎28‎/‎2019 at 2:42 PM, stickpro said:

используйте редис

там тоже есть свои заморочки. без "напильника" из "коробки" на заводится.
приходится рихтовать

 

 

19 hours ago, Yoda said:

Кешировать атомарные запросы  - зло!

 

 

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


P.S. кстати на OpenCart 2.3.0.2  все прекрасно работает.

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


18 часов назад, AndreyPopov сказал:

там тоже есть свои заморочки. без "напильника" из "коробки" на заводится.
приходится рихтовать

 

 

 

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


P.S. кстати на OpenCart 2.3.0.2  все прекрасно работает.

 

С таким же успехом можно поставить любой кеш фронта и будет то же самое. 

 

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


2 hours ago, Yoda said:

 

С таким же успехом можно поставить любой кеш фронта и будет то же самое. 

 

такой же успех НЕ получается!

и так включен Opcache
используется redis (до этого memcached)
стоит тема Journal3 со своим модулем кэшериования SuperCache

 

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


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

такой же успех НЕ получается!

и так включен Opcache
используется redis (до этого memcached)
стоит тема Journal3 со своим модулем кэшериования SuperCache

 

Во первых. Разницы в производительности между redis и memcache нету.
Во вторых на небольших магазинах разницы меджу файловым кешем и кешем в памяти нету, при условии наличия быстрого диска.
В третьих ни один модуль кеширования не решает вопросы с запросами getProduct и getTotalProduct, на новых страницах которые отгрызают иногда 70-80% загрузки.
В четвертых. То что  вы сунули все запросы в кеш бесполезное мероприятие, так как на нормально настроенном магазине те же самые запросы занимают десятитысячные доли секунды и на общих протечках и простоях никак и ни на что не влияют.
В пятых. Если говорить о том как и что кешировать, то кешировать надо повторяющиеся куски модулей. А не все запросы. Есть у вас целиком меню вот возьмите его уже готовое на уровне контроллеа закешируйте, тогда будет толк, так как итерации по формированию ссылок, изображений и всего остального никто не отменял.

 

А вот эти все показательные процессы типа. Я тут все закеширвоал и повторно все быстро - с таким же успехом можно сохранить все страницы как html и думать что получилось.

Но при этом все динамические страницы все равн будут тупые.

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


1 hour ago, Yoda said:

В третьих ни один модуль кеширования не решает вопросы с запросами getProduct и getTotalProduct, на новых страницах которые отгрызают иногда 70-80% загрузки.
В пятых. Если говорить о том как и что кешировать, то кешировать надо повторяющиеся куски модулей. А не все запросы.

 

А вот эти все показательные процессы типа. Я тут все закеширвоал и повторно все быстро - с таким же успехом можно сохранить все страницы как html и думать что получилось.

 

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

вопрос тут в другом!!!!!

даже исправив к примеру:

$select_id = (0 <= stripos($sql, 'SELECT') && !stripos($sql, 'FROM ' . DB_PREFIX . 'cart')) ? sha1($sql) : false

на

$select_id = (0 <= stripos($sql, 'SELECT p.product_id, (SELECT AVG(rating)') ) ? sha1($sql) : false; 

я не могу войти в профиль!

вот в чем проблема, а не в "кэшировании всего".

вы можете помочь разобраться где в OpenCart 3 с этим проблема?

 


 

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


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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