Сергей, есть один относительно простой вариант - настроить правильную работу кеширования на сайте. Вот на приложенном скриншоте сразу видно, что кеширование не включено никакое (для демо-сайта это пока нормально).
Как минимум, нужно на странице Настроек шаблона найти таб «Главная (units)» и задать свои настройки опции «Время кеширования главной страницы»:
По своему опыту могу сказать, что большое количество запросов не всегда плохо. Если запросы оптимизированы, то скорость их работы достаточно высока и не особо влияет на скорость сайта. Как, например, в самом начале этой записи на картинке - 18 SQL и 0.15 S - по-моему, уменьшать здесь количество запросов ни к чему.
Вопрос: кэширование, которое включено в database.php $db['default']['cache_on'] = TRUE;, чем откличается от кэширования, которое в шаблоне включается, выборочно? :
Екатерина, если по-простому, то mso_add_cache - это кэширование на уровне maxsite (например результатов работы тяжелых скриптов). database.php $db['default']['cache_on'] = TRUE - кеширование на уровне Code Igniter, в данном случае кэширование результатов выборки из БД. Иными словами, вместо того, чтобы обращаться к БД, CI идет в папку на сервере и ищет там закэшированый результат запроса -> если есть, возвращает его, нет - делает запрос.
Беда при таком подходе та, что любое изменение в БД не приведет к изменениям на сайте, пока не сбросить кэш. Поэтому лучше его не включать.
Сергей, есть один относительно простой вариант - настроить правильную работу кеширования на сайте. Вот на приложенном скриншоте сразу видно, что кеширование не включено никакое (для демо-сайта это пока нормально).
Как минимум, нужно на странице Настроек шаблона найти таб «Главная (units)» и задать свои настройки опции «Время кеширования главной страницы»:
Или запустить плагин sm_profiler, найти проблемное место и исправить.
Включить кэширование запросов в database.php $db['default']['cache_on'] = TRUE;
спасибо
А как сбрасывать этот кэш, при необходимости? Например, если новые материалы появились.
В консоли кнопка СБРОСИТЬ КЭШ СИСТЕМЫ.
По своему опыту могу сказать, что большое количество запросов не всегда плохо. Если запросы оптимизированы, то скорость их работы достаточно высока и не особо влияет на скорость сайта. Как, например, в самом начале этой записи на картинке - 18 SQL и 0.15 S - по-моему, уменьшать здесь количество запросов ни к чему.
Спасибо, Сергей!
Вопрос: кэширование, которое включено в database.php $db['default']['cache_on'] = TRUE;, чем откличается от кэширования, которое в шаблоне включается, выборочно? :
Екатерина, если по-простому, то mso_add_cache - это кэширование на уровне maxsite (например результатов работы тяжелых скриптов). database.php $db['default']['cache_on'] = TRUE - кеширование на уровне Code Igniter, в данном случае кэширование результатов выборки из БД. Иными словами, вместо того, чтобы обращаться к БД, CI идет в папку на сервере и ищет там закэшированый результат запроса -> если есть, возвращает его, нет - делает запрос.
Беда при таком подходе та, что любое изменение в БД не приведет к изменениям на сайте, пока не сбросить кэш. Поэтому лучше его не включать.