Можно включить режим дебага IPB, чтобы внизу страниц отображалось время выполнения и количество запросов в БД. Там будет сразу видно различие в количестве запросов до и после включения Memcache.
Кстати, в официальном мануале IPB пишут, что одновременно несколько кэширующих систем использовать нельзя. Может я чего-то недопонимаю, но вроде Memcache и XCache занимаются кэшированием разных вещей. Почему их нельзя использовать в связке?
@motomac это разные вещи. XCache - это локальный opcode кеш, который хранит откомпилированные php-скрипты. Это дает прирост производительности приложения за счет использования уже бинарного кода, не надо его повторно компилить каждый раз. Memcache - это распределенная система кеширования в памяти. В Memcache хранятся только данные вида ключ-значение. Работает в многосерверной архитектуре. Ускоряет работу в целом за счет сохранения в памяти готовых результатов ресурсоемких вычислений - запросов к БД, обработки данных и т.д. Также, в Memcache можно хранить готовые куски сайта (например, полностью собранную менюшку) или даже всю собранную страницу целиком (page cache), сессии и пр.
@motomac и да, XCache + Memcached работают в связке отлично, так же как и APC + Memcached, OPcache + Memcached. Когда говорят о конфликтах кеширующих систем, то имеется в виду одновременное использование кешей одного типа, например XCache + APC. Или же Memcached + Redis.
@HeadOnFire меня конкретно в их документации community.invisionpower.com/resources/documentatio... смутила надпись красным шрифтом: "Enabling any of these methods will override the default cache store. You should never add more than one of the above lines of code to your conf_global file."
Или они неправильно выразились и не уточнили, что это не касается Memcache?
@motomac в первом абзаце они пишут, что IPB по умолчанию использует в качестве кеширования базу данных. Далее перечисляют, что он поддерживает также и другие системы кеширования, если установлены на сервере и добавить в конфиг - он будет использовать новый кеш вместо дефолтного. А красный текст говорит вот что:
"Enabling any of these methods will override the default cache store. You should never add more than one of the above lines of code to your conf_global file."
Включение любого из этих методов (кеширования) переопределит дефолтный метод кеширования. Вам не стоит добавлять БОЛЕЕ ЧЕМ ОДНУ из вышеупомянутых строк в конфиге. То есть, не надо определять несколько кешей. Что, собственно, немного сбивает с толку. Так как, действительно, использовать одновременно более одно opcode кешера нельзя. Но opcode (например, OPCache, который уже входит в состав PHP по умолчанию) + data cache (Memcached) прекрасно работают в связке. Путаница из-за того, что APC, к примеру, будучи opcode кешем, одновременно является и user (data) кешем, то есть, дублирует Memcached. XCache, будучи по природе opcode кешем, все равно имеет некий эмулятор data cache XC_TYPE_VAR (Cache Type = variable data). То есть, как минимум APC и XCache пытаются объединить в себе и opcode кеш, и data кеш. Если же использовать IPB на более свежих версиях PHP, то лучше включить OPcache который уже идет в поставке PHP и выполняет исключительно кеширование компилированных скриптов, независимо от платформы, CMS и т.д. А для метода кеширования IPB выбрать Memcached. Тогда не будет конфликтов и будет максимальный прирост производительности.
@motomac c XCache как раз могут быть проблемы - тут не берусь утверждать наверняка, не использовал. Я лично использую PHP 5.5, в нем уже есть родной OPcache (бывший зендовский), и использовать XCache или другой opcache нет смысла. А для user кеша я использую именно Memcached. И вот эта связка PHP 5.5 (движок) with OPcache (родной модуль) + PHP-Memcached (модуль для работы с Memcached) + Memcached (сам Memcached сервер) работает как часы.
Поддержка на прямой вопрос относительно XCache в связке с Memcached ответила отрицательно:
>IP.Board only supports using one cache engine at a time so you would need to use either Memcached or XCache, you wouldn't be able to use both at the same time I'm afraid.