Если у вас есть модуль "Кэширование" и вы используете memcache или memcached, возможно он у вас не работает или работает не правильно, даже если модуль и включен.
Ниже приведен код для проверки правильной работы
<?php$driver=Core::$mainConfig['defaultCache'];$aConfig=Core::$config->get('core_cache', array());$config=$aConfig[$driver];if($driver=='memcache'){if(extension_loaded('memcache')){$memcache=newMemcache();$memcache->connect($config['server'],$config['port']);$return=$memcache->set('TEST',123,MEMCACHE_COMPRESSED,120);$message=($return?'SUCCESS':'ERROR');echo$message."<br />";print_r($memcache->getStats());echo"<br />";}else{echo"Memcache not available!<br />";}}elseif($driver=='memcached'){if(extension_loaded('memcached')){$memcached=newMemcached();$memcached->addServer($config['server'],$config['port']);$memcached->set('TEST',123,120);$message=$memcached->getResultMessage();echo$message."<br />";print_r($memcached->getStats());echo"<br />";}else{echo"Memcached not available!<br />";}}
Если вы НЕ видите SUCCESS значит запись в кэш не работает, соответственно кэширование у вас на сайте не работает.
Если вы видите SUCCESS то в статистике стоит обратить на значения:
limit_maxbytes - параметр показывает максимальный объем памяти, которую Memcache*d может использовать для хранения значений (для магазинов рекомендуем минимум 128 Мб)
evictions — очень важный параметр, показывает количество объектов, которые пришлось удалить из хранилища для размещения там новых данных. Если он стал большим и все время растет, то имеет смысл оптимизировать использование памяти или добавить больше памяти для сервиса Memcache*d.
get_hits - сколько раз мы взяли данные из кэша.
get_misses - сколько раз мы пытались взять данные из кэша, но его там не было или время жизни кэша истекло.
Отношение get_misses/get_hits показывает эффективность использования кэша. Чем оно меньше, тем эффективней используется кэш. Если у вас get_misses/get_hits >= 1, то значит вы делаете что-то не так (скорее всего ставите слишком малое время жизни кэша).
Максимальный размер записи данных по умолчанию 1 Мб, так что следует отслеживать какие данные у вас не попали в кэш, например через хук Core_Cache.onAfterSet