Автор Тема: Front office не кэширует, backoffice кэширует.  (Прочитано 2876 раз)

24 Июль 2016, 20:05:35
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Доброго всем времени.
Сегодня хочу спросить следующее:

Каким образом настроить кэширование если:
PrestaShop Version   1.6.1.6

smarty.config.inc.php
---------------
$smarty->caching = true;
--------------

Производительность

SMARTY
Перекомпилировать файлы шаблонов если файлы были обновлены
Кэш - Да
Файловое кеширование
Очищать кеш при каждом изменении чего-либо

Режим отладки
Оба - нет

Доп. возможности
Комбинации - Да
Характеристики - Да
Группы клиентов - Да

ККК
Всё Да, кроме "Оптимизация Apache"

Медиа серверы - нет

Шифрование
Rijndael с использованием библиотеки mcrypt

Кэширование
Использовать кеширование - Да
Memcached через PHP::Memcache  -    unix:///tmp/memc.socket

Профилирование отображает:

В админке:
PrestaShop Cache   0.51 Mb
Global vars   1.89 Mb
Smarty Cache   enabled
Smarty Compilation   auto


Во Франтофисе:

PrestaShop Cache   - Mb
Global vars   0.69 Mb
Smarty Cache   disabled
Smarty Compilation   force compile


На главной, на страницах товара PrestaShop Cache   - Mb (нет кэша)
На CMS кэш присутствует, хотя выдано
Smarty Cache   disabled
Smarty Compilation   force compile

После очистки кэша и загрузки главной страницы каталоги и файлы создаются и в smarty/cache и в smarty/compile
То есть кэш создаётся......

"??"
- Почему
Smarty Cache   disabled
Smarty Compilation   force compile
 
-  Почему не кэшируется главная и товары? Где причина и как устранить?




   





24 Июль 2016, 21:55:05
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Запись в папки кеша разрешена?
25 Июль 2016, 11:18:27
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Миколас
Цитировать
После очистки кэша и загрузки главной страницы каталоги и файлы создаются и в smarty/cache и в smarty/compile
То есть кэш создаётся......
Да, разрешена.  Сейчас права 0770 рекурсивно, но ставил и 0777, результат одинаков.
И раздел смонтирован без acls,nosuid,noexec
25 Июль 2016, 11:32:28
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для Prestashop 1.6 кеширование настраивают в Расширенные параметры > Производительность.
25 Июль 2016, 12:15:00
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
DarinSr
Именно это и описано выше.

Господа! Внимательно читаем тему!
25 Июль 2016, 12:33:22
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Для Prestashop 1.6 кеширование настраивают в Расширенные параметры > Производительность.
Других настроек кеширования нет.
Только если у вас не установлены модули кеширования.
Если при включении этих настроек кеширование не работает, проблема на уровне сервера.
25 Июль 2016, 12:55:10
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Adik Да, спасибо, док-ю читал. Спросить надоумило:
Цитировать
smarty.config.inc.php
---------------
$smarty->caching = true; здесь по дефолту false
--------------

А вообще, проблемы нет, как оказалось. Посмотрел статистику memcached:
После 3-х загрузок главной
   
              bytes      612492
              bytes_read   104568270
              bytes_written    41282993
..................

После 6-ти загрузок:
     
              bytes      740974
              bytes_read   370573646
              bytes_written   107109247
  ........................................

Как видим, кэш пишется и читается. 
Load Time   1155 ms - OK... for a shared hosting

В принципе, всё устраивает. Видимо, профилирование отображает работу только файлового кэша. Или это какой-то глюк?
По пути вопрос по кэшу:
Посмотрел содержимое кэша - некоторые запросы Mysql memcached не кэширует. Получается капросы с SQL_NO_CACHE в кэш memcached  не попадают? Таких запросов довольно много.  В таком случае, их  можно переписать. (Например, `id_hook`, `name`) Но почему эти запросы не должны кэшироваться? Что произойдёт, если их переписать?  И вообще, стОит ли этим заниматься?   
25 Июль 2016, 15:37:18
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Модули так пишут, чтобы не заморачиватся с кешированием. Переписывать их нужно. Кешировать все что возможно.
26 Июль 2016, 19:14:21
Ответ #8
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Всё таки не понятно, почему на главной


PrestaShop Cache   - Mb
Smarty Cache   disabled
Smarty Compilation   force compile


Странно. Админку кэширует. И почему не отображаться статистика закэшированного memcached?

27 Июль 2016, 10:17:53
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Установите чистый prestashop в поддомен. Включите кеширование в админке, выключите перекомпиоация шаблонов. Больше ничего не меняйте.
В /config/defines.inc.php  измените только один параметр
define('_PS_DEBUG_PROFILING_', true);Проверьте кеширование на новом сайте. Какой результат?
27 Июль 2016, 12:26:53
Ответ #10
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
DarinSr
PrestaShop Cache   0.41 Mb
Smarty Cache   enabled
Smarty Compilation   never recompile
27 Июль 2016, 12:59:11
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Вам нужно проверить файлы в папке /config/, вы там где-то изменили настройки кеширования.
Можно взять из вашей версии prestashop эти файлы (кроме settings.inc.php и xml) и заменить.
27 Июль 2016, 13:14:26
Ответ #12
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Adik
Цитировать
Вам нужно проверить файлы в папке /config/, вы там где-то изменили настройки кеширования.

Тогда и админка не должна кэшироваться.
27 Июль 2016, 13:48:24
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Кто это сказал? Все можно настроить. Сделайте как я написал и проверьте.
В этой папке для админки и сайта раздельные файлы конф.
smartyadmin.config.inc.php
smartyfront.config.inc.php
Есть и еще возможности менять схему кеширования.
27 Июль 2016, 14:59:15
Ответ #14
  • Фрилансер
  • *
  • Сообщений: 160
  • Репутация: +5/-0
  • BSDA Certification
    • Просмотр профиля
Adik

Сделал, результат тот же. А можно по подробнее об изменении схемы кэширования? (Варианты с доп.модулями не рассматриваю)