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

Модуль SmartCache расширенная версия системы кеширования c защитой от эффекта "собачья куча" и другими "плюшками" [Поддержка]


Recommended Posts

SmartCache расширенная версия системы кеширования c защитой от эффекта "собачья куча" и другими "плюшками"


SmartCache расширенная версия системы кеширования c защитой от эффекта "собачья куча" и другими "плюшками"


yellow-button.thumb.png.978b0dc68f987791fadc0a699dd7a764.png

 

Модуль решает основные "детские болезни" системы кеширования opencart:

  1. "собачья куча" (anti-slam, dogpile effect). Когда одновременно несколько процессов пытаются создать один и тот же файл кеша. Из-за чего может резко возрастать нагрузка на сервер
  2. инвалидация кеша. По умолчанию стандартный кеш делает инвалидацию на каждый запрос (и при этом массово всего кеша), что при использовании glob и большого количества файлов дает существенную нагрузку на сервер. В данном модуле инвалидация идет фоном и только того кеша который запрошен.
  3. собственное время жизни кеша для разных групп (префиксов) кеша.
  4. рандомизация времени жизни кеша позволяет избегать одновременной его инвалидации/генерации

Модуль написан согласно рекомендаций из данной статьи http://amdy.su/2021/08/23/cache/

Установка

Загрузить файл в корневую папку

Установить в файле /system/config/default.php

Для 2.3.*

$_['cache_type'] = 'smartcache';

Для 3.*

$_['cache_engine'] = 'smartcache';

 


  • Автор
  • долучення
    30.07.21
  • Категорія
  • Системные требования
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • ocStore
    3.0
    2.3.0.2.4
    2.3
  • OpenCart.Pro, ocShop
    Не проверялось
  • Звернення до сервера розробника
    Нет

 

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

За пару дней набралось ошибок. Множатся понемногу.
 

PHP Warning:  unlink(/system/storage/cache/smartlock/416c07762376e6ce8e57581cf00e8a841d280f2e.lock): No such file or directory in /system/library/smartlock.php on line 90

UPD судя по всему хостинг...

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

В 31.07.2021 в 21:59, zhu4koff сказал:

для версии 3.0.37 неактуально?

В принципе должно работать. Просто не проверялось.

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

21 час назад, Tom сказал:

За пару дней набралось ошибок. Множатся понемногу.
 


PHP Warning:  unlink(/system/storage/cache/smartlock/416c07762376e6ce8e57581cf00e8a841d280f2e.lock): No such file or directory in /system/library/smartlock.php on line 90

UPD судя по всему хостинг...

Скорее всего не создается файл из-за проблем с правами на папку.

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

  • 1 month later...
В 30.09.2021 в 09:46, magdek сказал:

Приветствую, а если стоит на сайте джеткеш как они будут работать в паре мешать друг другу или дополнять один одного. Спасибо.

Я не имею ни малейшего желания разбираться в алгоритме работы "славноизвестного" кешера. Да и вам не советую. И системе нужна только один активный модуль кеширования.

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

  • 4 weeks later...
В 31.07.2021 в 21:59, zhu4koff сказал:

для версии 3.0.37 неактуально?

Актуально. Поставил себе. В PageSpeed показания улучшились, но чудес не ждите. Может потому, что у меня сайт маскимально оптимизирован, по сути только скрипты и css объединить осталось. Было 89 на мобилке, стало 94. В тройке нужно не $_['cache_type'] = 'smartcache'; а $_['cache_engine'] = 'smartcache';

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


3 минуты назад, Sergusnet сказал:

Актуально. Поставил себе. В PageSpeed показания улучшились, но чудес не ждите. Может потому, что у меня сайт маскимально оптимизирован, по сути только скрипты и css объединить осталось. Было 89 на мобилке, стало 94. В тройке нужно не $_['cache_type'] = 'smartcache'; а $_['cache_engine'] = 'smartcache';

Спасибо за комментарий.

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

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

  • 1 year later...

добрий день. на окстор 3,0,3,7 встановив ваш модуль.

зараз хочу підключити Redis, але там треба прописати 

У файлі system/config/default.php

$_['cache_engine'] = 'redis';

виходить що тобі, видалиться 

$_['cache_engine'] = 'smartcache';

 

як бути, можливо щоб і те і те працювало?

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


В 12.07.2023 в 18:33, Vetlucky777 сказав:

добрий день. на окстор 3,0,3,7 встановив ваш модуль.

зараз хочу підключити Redis, але там треба прописати 

У файлі system/config/default.php

$_['cache_engine'] = 'redis';

виходить що тобі, видалиться 

$_['cache_engine'] = 'smartcache';

 

як бути, можливо щоб і те і те працювало?

Опенкарт не вміє одразу декілька кешерів

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

В 12.07.2023 в 18:33, Vetlucky777 сказав:

зараз хочу підключити Redis, але там треба прописати 

 

Redis потрібен для сильнонавантажених проектів. Якщо у вас 1000-2000 товарів ви не помітите різницю

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

  • 3 weeks later...

Поставив на OcStore 3.0.3.2  У PageSpeed Insights на вкладці "Мобільні пристрої" було 63%.  SmartCache встановлений вже добу. Зараз  PageSpeed Insights пише 64%

 

Маловато :)  Слабенький ефект.   Чи то варто ще почекати ?  Картинки там всі jpg  Думаю у цьому відношені немає чого оптимізувати

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

В 02.08.2023 в 19:35, mirek сказав:

Поставив на OcStore 3.0.3.2  У PageSpeed Insights на вкладці "Мобільні пристрої" було 63%.  SmartCache встановлений вже добу. Зараз  PageSpeed Insights пише 64%

 

Маловато :)  Слабенький ефект.   Чи то варто ще почекати ?  Картинки там всі jpg  Думаю у цьому відношені немає чого оптимізувати

Модуль дууууже опосередковано впливає на PageSpeed Insights.

В нього зовсім інші задачі.

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

  • 2 weeks later...

Я думаю достаточно использовать is_readable() is_writable() - плохо, что в документации не описано распространение на все процессы или в рамках одного.

Хотя, если нужно удалить, а файл не доступен, то всё-равно нужно сохранять претендентов на удаление.

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

В 17.08.2023 в 02:00, buslikdrev сказав:

is_readable() is_writable()

Можна розкрити більш детально питання?

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

17.08.2023 в 12:06, Vladzimir сказал:

Можна розкрити більш детально питання?

При создании кэша делать сразу несколько файлов. При загрузки кэша установить проверку доступности is_readable(), если один не доступен, взять другой до тех пор пока не закончатся варианты и по итогу сказать нет кэша. Также и при удалении проверять доступность, если ты какой-то не удалил файл, то в следующий раз удалишь.

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

В 22.08.2023 в 21:37, buslikdrev сказав:

При создании кэша делать сразу несколько файлов. При загрузки кэша установить проверку доступности is_readable(), если один не доступен, взять другой до тех пор пока не закончатся варианты и по итогу сказать нет кэша. Также и при удалении проверять доступность, если ты какой-то не удалил файл, то в следующий раз удалишь.

Є готовий концепт? І яка перевага над моєю реалізацією?

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

22.08.2023 в 21:41, Vladzimir сказал:

Є готовий концепт? І яка перевага над моєю реалізацією?

Пока нету. Я не сравнивал. Позже скину как проверю. Пока преимущество в малом коде.

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

  • 2 weeks later...

Мой прототип:

buslik.php для OpenCart 4 (закинуть в папку system/library/cache и установить название buslik в system/config/default.php). Для других версий нужно поменять namespace.

- при 40000 файлов кэша ошибки типа нет файла или ошибка чтения замечено не было.

- проверяет наличие данных https://github.com/ocStore/ocStore/blob/2d84889b1d362622f56438d527c30d565e653911/upload/catalog/model/blog/article.php#L345

и предотвращает повторную загрузку файла, когда к файлу есть обращение несколько раз, что в свою очередь даёт прирост к скорости.

 

По доступности кэша статистику ещё не собирал для фиксирования случаев, когда пригодился дубликат кэша.

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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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