Intereting Posts
WP Rest API Querying Custom Posts по полям ACF meta_query не работает должным образом Изменение пользовательской постоянной ссылки с помощью фильтра Как я могу перенаправить мобильных пользователей на diff url, но также позволить им вернуться на полный сайт Получить правильный идентификатор сообщения для всех сообщений и страниц в header.php Как получить все плагины и их номера версий из локальных файлов? Есть ли способ использовать обычные категории с пользовательскими типами сообщений? Как WordPress знает, где находятся плагины? Как проверить, находится ли сообщение в первичной категории как вы получаете имя пользователя автора? WordPress не отображает темы в папке wp-content / themes Поддерживает ли WordPress короткий код, вызывающий себя из-за короткого вызова? Как работать с чувствительностью к регистру значений HEX? Как настроить программную страницу на первой странице? Заменить сообщения в пользовательском мета-окне

Кэширование объектов APC в сочетании с кэшированием страниц Batcache / memcached?

В статье « Сравнение кэширования WordPress» часть 2 Мэтт Марц сравнивает различные настройки кэширования, среди которых кеширование объектов APC вместе с кэшированием страниц Batcache . В своем посте эта комбинация, по-видимому, является лучшим компромиссом между сложностью настройки и эффективностью. Он не упоминает memcached, поэтому я не уверен, что он используется или нет. От чтения сообщения Марка Яквита APC Object Cache Backend для WordPress мне кажется, что его плагин работает как базовый сервер замены, который будет использоваться вместо memcached, что и говорит инструкция по установке Batcache . Это также то, как он работал в моих экспериментах с этими плагинами. То есть используется либо APC, либо memcached-бэкенд, но не вместе и в комбинации.

Однако, наблюдая за высокоэффективным видеоизображением WordPress Илии Полихроновым (и это я начал при изучении кеширования), у меня сложилось впечатление, что кеш объектов APC можно использовать для кэширования кода операции в сочетании с Batcache / memchached для полного кэширования страниц, лучшие результаты. (обсуждение batcache находится в самом конце видео) Возможно ли это, и будет ли какой-нибудь benfit, или я просто смущен?

В моем случае я ищу лучшее решение для нескольких виртуальных серверов с одним WordPress (то есть не многосайтом), обслуживаемых одним веб-сервером (nginx). Это работает на твердотельных носителях (Raspberry Pi / SD-card), поэтому было бы предпочтительнее хранить кеш в памяти. У меня есть полный доступ к системе и установлены расширения apc, memcache и memcached.

edit: Из чтения источника Batcache я понимаю, что Batcache использует все, что предлагается object-cache.php , поэтому это кеш-память APC или memcached, используемая исключительно соответствующими бэкэнд-плагинами.

Кроме того, я нашел определение Мэтта об использовании байт-кода, объектов и страниц в конце его просветительской работы.

Основное правило для Memcached : используйте его, если вы используете несколько серверов или подключаетесь к нескольким базам данных для одних и тех же активов.

Еще один более суровый способ выразить это: если вы не знаете, что такое Memcached, вам, вероятно, это не нужно.

Поскольку у вас есть один сервер (и, возможно, один БД), вы не сможете воспользоваться несколькими функциями Memcached.

Memcached: кеширование распределенной памяти

APC: оптимизация байт-кода

Вы можете использовать комбинацию APC и Memcached, вы также можете использовать APC с Batcache без Memcached или различные комбинации плагинов, так что это немного запутывает.

Чтобы прояснить Batcache

Batcache имеет возможность поддерживать Memcached, но если у вас нет установленного Memcached, он все равно будет использовать кеш объектов WordPress, который определен в вашем config.php, используя define('WP_CACHE', true); и, таким образом, APC воспользуется этим.

Одно из преимуществ Batcache, помимо поддержки сложных настроек сервера через Memcached, это не запись в файл, поэтому сервисы, такие как WordPress.com, используют его. Представьте себе, если бы им пришлось статически кэшировать все свои сайты, это было бы миллиардами файлов и невозможно управлять с помощью ввода-вывода файлов.

Хотя Batcache довольно прост, выполнение может быть сложным, его можно настроить, как видно из комментариев здесь: http://plugins.trac.wordpress.org/browser/batcache/trunk/advanced-cache.php

Чтобы прояснить Memcached

Memcached действительно предназначен для нескольких серверов, чтобы они могли делиться и использовать память интеллектуальным способом, по сути, они будут совместно использовать виртуальный пул памяти. Каждый узел может использовать память из других узлов (узел не обязательно должен быть традиционным веб-сервером). Memcache не заботится о том, какой язык вы используете, поскольку он поддерживает большинство из них. http://memcached.org/about

Чтобы уточнить APC

APC в простых терминах – только один сервер и только PHP. Он хранит всю сборку на основе PHP (байт-кода) в ОЗУ.

Для одного сервера

  1. Плагин APC + Mark Jaquith's Dropin + статический файловый кеш ( супер-кеш, w3-total и т. Д.) Даст вам очень быстрые результаты. Другими словами, APC + статический кеш намного быстрее на одном сервере, а затем только Memcached и / или нестатический кеш. Конечно, вы можете объединить их на одном сервере, я никогда не пробовал этого, сомнительно, что будет какое-то улучшение. Использование Memcached на одном сервере, у которого уже есть APC, будет похоже на попытку буксировать автомобиль, прижимая фронт к задней части.

  2. Альтернативой является использование APC + Batcache вместо статического кэширующего плагина, это, скорее всего, даст вам те же результаты, просто убедитесь, что у вас много RAM. Это прекрасное решение, но для этого требуется больше мониторинга сервера (imo), чем просто писать статические файлы, потому что серверы по-прежнему являются точными животными.

Если после выполнения одного из указанных выше и вашего сайта все еще возникают проблемы, вам необходимо перейти на новый уровень с помощью вашего оборудования или начать думать о более сложных настройках с несколькими серверами.

Также имейте в виду, что речь идет не только об общей скорости сайта, но и о скорости + параллелизма.

Не оптимизируйте ради этого .. вы доберетесь до точки, где оптимизация ничего не делает, если не будет спроса на нее.

Заметки:

Каждая настройка сервера различна, и кеширование напрямую связано с производительностью вашего ЦП, ОЗУ, фактического кода и конфигураций, поэтому результаты будут меняться … есть много вариантов конфигурации для APC и Memcached.

Важно отметить, что https://github.com/zendtech/ZendOptimizerPlus , вероятно, в конечном итоге заменит APC.

пс. Испытайте APC на сервере dev перед тем, как вы выйдете вживую, часто нужно возиться с конфигурацией или сервер может взорваться.