Как настроить кеширование Memcached для WordPress
На тарифах хостинга для WordPress установлен Memcached, сервис который служит для кеширования данных и соответственно ускорения загрузки WordPress. Есть множество плагинов для WordPress, которые поддерживают такой вариант кеширования, но мы выбрали для вас 2 лучших, с нашей точки зрения.
W3 Total Cache — бесплатный плагин.
Его можно установить прямо через WordPress или по ссылке. После установки в нем нужно включить несколько опций, чтобы он использовал для кеширования Memcached.
- Переходим в настройки плагин (Performance — General Settings)
- Включаем кеширование в секции Page Cache. Ставим галочку напротив Page Cache — Enable, а в выпадающем списке Page cache method — выбираем Memcached
- По таком же принципу можем включить кеширование Memcached в разделе Database Cache и Object Cache
- Для уменьшения размера страниц — рекомендуем включить сжате в разделе Minify — отметьте опцию Enable, Minify mode — поставьте Auto, а в разделе Minify Cache Method выберите Memcached, остальные настройки оставьте по умолчанию
- А теперь проверяем, все ли корректно работает и кешируются ли ваши страницы.
В настройках W3 Total Cache в разделе Debug — ставим галочку напротив Page Cache. После этого заходим на сайт под гостем или в анонимном режиме, один раз обновляем страничку (чтобы она закешировалась) и смотрим исходный код страницы (в большинстве браузеров работает комбинация Ctrl + U).
В самом низу исходного кода странички вы увидите раздел «Performance optimized by W3 Total Cache». Важно, чтобы была строчка Page Caching using memcached, а напротив строки Engine было указано memcached, это говорит нам о том, что кеширование работает и настроено правильно.
WP Rocket — платный
WP Rocket — один из лучших платных плагинов для кеширования и мы активно используем его в своих проектах. Он стоит от 49$ и купить его можно по ссылке. По умолчанию он не поддерживает работу с memcached, поэтому нужно будет установить дополнительный плагин: Memcached Redux.
- Установите плагины WP Rocket и Memcached Redux, но не активируйте плагин Memcached Redux.
- Скопируйте файл object-cache.php из папки /wp-content/plugins/memcached-redux/ в папку wp-content.
Настройка Memcached в WordPress | Вопросы-ответы на Wiki
Чтобы WordPress мог использовать Memcached, установите и настройте один из специализированных плагинов.
Чтобы включить поддержку Memcached в WordPress с помощью плагина WP-FFPC:- Установите и активируйте плагин WP-FFPC.
В админ-панели сайта перейдите в раздел «Настройки → WP-FFPC»:
Проверьте вкладку «Cache type» и убедитесь, что напротив «Select backend
Переключитесь на вкладку «Backend settings».
Сохраните изменения. Если всё в порядке, вверху раздела напротив «Backend status» должно отобразиться «up and running».
Проверьте работу сайта.
- Установите и активируйте плагин W3 Total Cache.
Перейдите в раздел «Performance → General Settings
В блоке «Page Cache»:
Напротив «Page Cache» установите галочку рядом с «Enabled».
Напротив «Page Cache Method» выберите «Memcached».
Сохраните изменения.
Перейдите в раздел «Performance → Page Cache».
В блоке «Advanced»:
- Напротив «Memcached hostname:port / IP:port» укажите
/home/example/.system/memcache/socket:0
, подставив вместоexample
название хостинг-аккаунта, в котором размещён сайт. Нажмите «
Сохраните изменения.
- Напротив «Memcached hostname:port / IP:port» укажите
Выполните аналогичные действия для «Database Cache» и «Object Cache».
Проверьте работу сайта.
Нужен ли мне memcached с Opcache ?
Я ничего не знаю о кэшировании, кроме того, что читал, что люди используют APC/Opcache/Memcache/Memchached/Varnish …, чтобы заставить PHP идти быстрее 🙂
Итак, я попробовал APC на прошлой неделе, так как я был на PHP5.4, но затем обновил свой до PHP5.5, чтобы я мог использовать Opcache. Итак, теперь, когда Opcache работает, мне нужно даже сделать свой сайт wordpress быстрее, и поскольку я слышал, что APC не совместим с opcache, я хотел бы знать, является ли memcached OK для использования, так как я почти уверен, что лак-это OK, потому что он не связан с PHP.
Итак, будет ли использование memcached еще больше улучшать мой сайт?
php wordpress memcached opcache php-5.
Поделиться Источник robue-a7119895
2 ответа
- PHP FPM 5.5-выполняется ли Opcache для каждого домена
У меня есть PHP FPM 5.5, работающий с Opcache — ниже приведены мои настройки Opcache (очень стандартные): ; Opcache Configuration opcache.enable=1 opcache.memory_consumption=256 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=50000 opcache.fast_shutdown=1…
- Symfony2: кэш a «Class Loader» с OpCache
PHP имеет новый модуль кэширования кода под названием OPCache . Symfony2 рекомендует использовать ApcClassLoader (на основе APC ) или XcacheClassLoader (на основе XCache ) для кэширования отображения из класса В содержащий его файл. Мой сервер (Apache 2.4 с PHP 5.6) использует OpCache . Есть ли…
35
OPcache предназначен для ускорения доступа к коду. memcached предназначен для ускорения доступа к данным. Они совершенно разные и совершенно независимые.
Поделиться Ignacio Vazquez-Abrams 24 июля 2014 в 01:11
5
Хотя OpCache не поддерживает функцию кэширования на стороне пользователя APC, он все же может быть полезным инструментом, и поэтому модуль Pecl APCU был извлечен из оригинала. Он полностью совместим с оригиналом, но оставляет кэш zend-кода для OpCache.
Поделиться Alister Bulman 24 июля 2014 в 21:18
Похожие вопросы:
Нужен ли ulimit для запуска memcached с -c?
Если запуск от имени root, как это: memcached -c 5000 … нужно ли мне, чтобы мой сценарий запуска выглядел так: ulimit -n 5000 memcached -c 5000 … Или memcached установит максимальное количество…
Я нахожусь на rails 2. 3.5 и ruby на 1.8.7. У меня есть одно приложение, использующее локальный экземпляр memcached (последняя версия от apt-get memcached). Кажется, что memcached работает так, как…
Понимание поведения OPCache
Даже несмотря на то, что сайт отстает от CloudFlare CDN, мы решили использовать OPCache, чтобы уменьшить нагрузку на сервер, так как есть максимум (пик) ~400 активных пользователей в секунду…
PHP FPM 5.5-выполняется ли Opcache для каждого домена
У меня есть PHP FPM 5.5, работающий с Opcache — ниже приведены мои настройки Opcache (очень стандартные): ; Opcache Configuration opcache.enable=1 opcache.memory_consumption=256…
Symfony2: кэш a «Class Loader» с OpCache
PHP имеет новый модуль кэширования кода под названием OPCache . Symfony2 рекомендует использовать ApcClassLoader (на основе APC ) или XcacheClassLoader (на основе XCache ) для кэширования…
работает ли мой OpCache?
Я пытаюсь включить opCache на своем сервере ( ubuntu 12. 04 LTS , запуск apache 2.4.7 с PHP Version 5.5.10-1+deb.sury.org~precise+1 ). Прежде чем начать что-либо делать, я прочитал этот очень…
установка php5.3 с помощью Opcache
Мне просто любопытно, можно ли иметь как php5.3, так и OpCache мод. установлен на базе Linux Debian OS. Я потратил почти весь день на поиски в интернете, чтобы выяснить, можно ли установить php5.3 +…
OpCache с Symfony
Я знаю, что вы можете использовать с загрузчиком класса Symfony APC или XCache. К сожалению,на общем сервере, куда я положил свой код Symfony, активирован только OpCache. Могу ли я использовать…
Являются ли OPcache и PHP сервера Zend OPcache одним и тем же?
Zend Server, коммерческий продукт, разработанный корпорацией Zend (с тех пор приобретенный компанией RougeWave), имеет функцию под названием OPCache . Автономный открытый исходный код PHP также…
Laravel с opcache
У меня проблема с opcache. Я запускаю laravel 5.6 на сервере IIS с php 7.2, и когда я включаю opcache, приложение выходит из строя. Фатальная ошибка:…
Memcached — Раздел помощи — SpaceWeb
Memcached это сервис (служба), реализующая кэширование данных в оперативной памяти сервера. За счёт того, что кэш хранится в оперативной памяти, работа с ним происходит быстрее. Он включен на тарифах линейки «Реактивный» и «Power».
Настройка кеширования в CMS:
Настройки актуальны для версий с php5.6 до 7.2
Bitrix
Эта настройка для CMS Bitrix работает корректно с php 7.2
Для того чтобы включить memcache для сайта необходимо:
Создать в директории ~/public_html/bitrix файл .settings_extra.php и добавить в него строки:
Например, для логина «support2019» хост будет выглядеть: /home/s/support2019/.memcached.sock
После этого в административной части Битрикса можно проверить включено кэширование или нет. В разделе «Настройки» — «Производительность» — «Панель производительности» и далее вкладка «Битрикс (оптимально)»
Opencart 3.0
Для того чтобы включить Memcached на сайте необходимо:
- В конце каждого из двух конфигурационных файлов добавить строки:
- Отредактировать файл default.php, расположенный в каталоге system/config:
В результате в index.php должна получится данная строка: $_[‘cache_engine’] = ‘memcached’; // apc, file or mem
Перед изменением файлов index.php и config.php, рекомендуем сделать их резервные копии.
После того как будут внесены изменения в указанные файлы, необходимо проверить работу сайта.
Opencart 2.2-2.3
Для того чтобы включить Memcached на сайте необходимо:
- В конце каждого из двух конфигурационных файлов добавить строки:
- Отредактировать файл default.php, расположенный в каталоге system/config:
В результате в index.php должна получится данная строка: $_[‘cache_type’] = ‘mem’; // apc, file or mem
Перед изменением файлов index.php и config.php, рекомендуем сделать их резервные копии.
После того как будут внесены изменения в указанные файлы, необходимо проверить работу сайта.
WordPress
Поскольку в данной CMS нет встроенной поддержки Memcached, для его использования необходимо установить дополнительный плагин.
Плагины позволяющие осуществить данную настройку можно найти на официальном сайте компании WordPress.
В настройках плагинов необходимо указывать:
- в качестве порта значение «0»
- в качестве имя хоста
путь до файла .memcached.sock: ‘/home/первая_буква_логина/логин/.memcached.sock’.
WordPress. Кеширование. Категория: Web-разработка • CMS WoprdPress
Кеширование данных позволяет ускорить работу сайта и существенно снизить нагрузку на сервер. В ядре WordPress существует три основных вида кеширования — кеширование страниц (page cache), кеширование объектов (object cache) и транзитное кеширование (transient cache).
- Кеширование страниц — позволяет сохранять в кеш страницы сайта целиком и выдавать их из кеша при последующих запросах
- Кеширование объектов — позволяет кешировать данные произвольного типа в оперативной памяти на период формирования страницы
- Транзитное кеширование — очень похоже на кеширование объектов, но позволяет сохранять данные на длительный промежуток времени
Кеширование страниц
Для выдачи одной страницы архива приходится проделывать много работы. Это множество запросов в базу данных — чтобы получить последние записи, настройки виджетов, настройки темы, активные плагины, название и описание сайта и так далее. Кеширование страниц (page cache) позволяет сохранить результат выдачи страницы целиком в кеш и при последующем запросе этого URL выдать страницу уже из кеша.
При изменении содержания записи или странцы, кеш страницы сбрасывается, и при последующем запросе кешируется уже новая страница с обновлёнными данными. В самом ядре WordPress кеширование страниц не реализовано, но есть все необходимое для реализации этого на уровне плагинов.
Для реализации страничного кеширования необходимо создать файл advanced-cache.php
в директории wp-content
и определить константу WP_CACHE
со значением true
в файле конфигурации wp-config.php
. Файл advanced-cache.php
является специальным для WordPress, он исполняется на ранней стадии загрузки ядра, и именно с помощью этого файла реализуется кеширование страниц.
Кеширование объектов
Объектное кеширование (object cache) реализовано в самом ядре WordPress. Механизм позволяет хранить объекты произвольного типа в памяти и используется практически для всего: опции, записи, страницы, метки, категории, пользователи и многое другое.
Для примера, рассмотрим как работает кеширование объектов для опций WordPress. При первом вызове функции get_option()
срабатывает функция wp_load_alloptions()
, которая загружает в объектный кеш из базы данных все опции сайта, помеченные как autoload
. Поэтому любые следующие вызовы функции get_option()
уже не будут делать запросы к БД, а будут получать данные из кеша.
Кеширование объектов в WordPress реализовано классом WP_Object_Cache
, но обращаться к его методам можно и через вспомогательные функции:
wp_cache_get()
читает значение из кеша объектов по заданному ключуwp_cache_add()
добавляет значение в кеш объектов по заданному ключуwp_cache_set()
устанавливает заданное значение по заданному ключуwp_cache_replace()
заменяет существующее значение в кеше объектовwp_cache_delete()
удаляет значение из кеша объектов по заданному ключуwp_cache_incr()
иwp_cache_decr()
увеличение или уменьшение значенияwp_cache_flush()
сбрасывает весь кеш объектов
Время жизни кеша объектов
Одним из ключевых моментов кеширования объектов является то, что кеш существует лишь на протяжении того короткого периода времени, пока формируется страница. На первый взгляд такой кеш не очень полезен, но если посчитать, сколько раз за один запрос WordPress выполняет функцию
get_option()
, то выгода от кеширования объектов становится очевидной.
В WordPress есть возможность использовать внешнее хранилище для кеша объектов, например Memcached или Redis, при этом кеш объектов становится постоянным. Это значит, что при следующем обращении к странице сайта, ранее закешированные значения по прежнему доступны. Для этого нужно создать файл object-cache.php
в директории wp-content
и реализовать в нем класс WP_Object_Cache
и все перечисленные выше функции.
Транзитное кеширование
Транзитное кеширование (transient cache) позволяет разработчикам сохранять данные на определённый промежуток времени. Для работы с транзитным кешем предназначены функции get_transient()
, set_transient()
и delete_transient()
. В терминологии WordPress сохраняемые значения называются временными опциями (в отличие от обычных опций, которые хранятся без ограничений по времени). При создании такой опции нужно указать время жизни, по истечении которого WordPress удалит сохраненное значение.
При использовании плагина для внешнего хранения кеша объектов (например Memcached или Redis), транзитное кеширование будет пользоваться этим хранилищем для хранения своих данных.
Транзитное кеширование чаще всего используется для хранения данных, когда речь идёт о запросах на внешние ресурсы, например для вывода сообщения из сети Twitter или для вывода прогноза погоды со стороннего сервиса. Подобное кеширование так же используется в ядре — при запросах на обновление тем, плагинов и ядра.
Поиск: CMS • Web-разработка • WordPress • Кеширование
Ускорение WordPress с помощью Amazon ElastiCache для Memcached
Шаг 1. Настройте ElastiCache для экземпляра Memcached
Во-первых, вам нужно запустить экземпляр Memcached. Откройте консоль AWS и найдите «ElastiCache» или воспользуйтесь этой ссылкой, чтобы напрямую открыть консоль ElastiCache. На панели управления ElastiCache нажмите «Начать сейчас» и выберите Memcached. Введите имя myMemcached и выберите тип узла cache.t2.micro (обеспечивая соответствие требованиям уровня бесплатного пользования AWS).Оставьте версию движка и порт по умолчанию. Для целей этого руководства оставьте группу безопасности по умолчанию.
Если группа подсети не существует, ее необходимо создать. Для этого разверните параметр «Расширенные настройки Memcached» в консоли ElastiCache, выберите «Создать новую для группы подсети», дайте группе имя и выберите подсети, которые вы хотите включить в группу.
Через несколько минут статус кластера станет «Доступен».Запишите конечную точку конфигурации, которая должна выглядеть следующим образом: mymemcached.chty1z.cfg. use2.cache.amazonaws.com:11211
Шаг 2. Настройте WordPress на EC2
Затем следуйте руководству по запуску веб-сайта WordPress, чтобы настроить экземпляр EC2 с предустановленным WordPress. В этом руководстве используйте настройки группы безопасности по умолчанию. Это создаст новую группу безопасности в VPC по умолчанию. Ваш экземпляр WordPress EC2 должен находиться в том же VPC, что и экземпляр ElastiCache.
Примечание: На шаге 2f учебника, когда вы запускаете новый экземпляр EC2, вам нужно будет создать ключ SSH. Это позволит вам подключиться к экземпляру EC2, чтобы вы могли установить и настроить клиент Memcached. Обязательно загрузите и сохраните закрытый ключ в безопасном месте.
Шаг 3. Предоставьте экземпляру WordPress доступ к экземпляру Memcached
Перейдите на панель управления VPC, выполнив поиск «VPC» в консоли AWS.В левой части страницы щелкните вкладку «Группы безопасности» и выберите группу безопасности для своего экземпляра Memcached. Его можно найти, просмотрев подробную информацию о вашем экземпляре Memcached на панели управления ElastiCache. В нижней части страницы нажмите вкладку «Правила для входящих подключений», затем нажмите «Изменить». Добавьте новое настраиваемое правило TCP, чтобы разрешить доступ к порту 11211, используя идентификатор группы безопасности вашего экземпляра WordPress в качестве источника. Вы можете найти идентификатор группы безопасности экземпляра WordPress в списке групп безопасности (имя группы должно начинаться с WordPress) или просмотрев подробную информацию об экземпляре EC2, на котором запущен WordPress.Эти шаги позволяют WordPress подключиться к Memcached.
Шаг 4. Подключитесь к WordPress и установите клиент Memcached
.Подключиться к WordPress
Вам необходимо подключиться к экземпляру WordPress, чтобы установить клиентское программное обеспечение, необходимое для работы WordPress с Memcached. В Mac / Linux вы можете использовать SSH-клиент по умолчанию, а в Windows вы можете использовать такие инструменты, как PuTTY или Git Bash. Подробные инструкции о том, как это сделать, см. В разделе «Шаг 3: Подключение к вашему экземпляру» руководства по запуску виртуальной машины Linux.Для подключения к вашему экземпляру EC2 вам понадобится созданный вами SSH-ключ и его общедоступный IP-адрес.
Если вы используете командную строку для подключения к вашему экземпляру EC2, вы можете сделать это с помощью следующей команды (заменив PUBLIC_IP IP-адресом вашего экземпляра, а PRIVATE_KEY — путем к вашему SSH-ключу):
ssh ubuntu @ PUBLIC_IP -i PRIVATE_KEY.pem
После подключения к серверу выполните команду « cat bitnami_credentials ».Запишите пароль, указанный в файле.
Установите клиент Memcached
Теперь вам нужно установить клиент PHP Memcached, который нужен WordPress для подключения к вашему экземпляру Memcached. Выполните следующие команды в командной строке, чтобы установить клиент Amazon ElastiCache для Memcached:
wget https://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-7.0/latest-64bit
tar -zxvf последний-64-битный
sudo cp артефакт / amazon-elasticache-cluster-client.так / opt / bitnami / php / lib / php / extensions /
sudo echo 'extension = amazon-elasticache-cluster-client.so' >> /opt/bitnami/php/etc/php.ini
перезагрузка sudo
Подождите несколько минут до завершения перезагрузки сервера. Примечание: Если ваша установка PHP или WordPress отличается от образа Bitnami, используемого в этом руководстве, эти команды могут отличаться.
В адресной строке браузера вставьте общедоступный IP-адрес сервера WordPress, а затем введите «/ admin».URL-адрес должен выглядеть как «123.123.123.123/admin». В качестве имени пользователя укажите «user» и используйте пароль, который вы получили из файла bitnami_credentials . Теперь вы можете установить плагин, который позволит вам использовать Memcached для ускорения вашего сайта.
Шаг 5. Включите кеширование
Теперь, когда у вас запущены и WordPress, и Memcached, вы можете включить кеширование.
Установить подключаемый модуль
В этом руководстве используется плагин W3 Total Cache для включения кэширования Memcached.Это один из самых популярных и хорошо поддерживаемых плагинов для кэширования WordPress. Чтобы установить W3 Total Cache, перейдите в раздел «Плагины» на панели инструментов WordPress и нажмите «Добавить».
Далее Найдите «W3 Total Cache», выберите «Установить сейчас» и нажмите «Активировать».
Установка разрешений на конфигурацию
После установки плагина на странице плагинов могут появиться следующие сообщения:
Мы обратимся к первому сообщению позже в руководстве.Чтобы адресовать второе сообщение, выполните команду chmod 777 /opt/bitnami/apps/wordpress/htdocs/wp-config.php . Это необходимо сделать до настройки кеша, чтобы можно было внести необходимые изменения в файлы PHP. После выполнения команды обновите веб-страницу конфигурации плагина.
Шаг 6: Настройте кэш
Обычно системы кэширования используются для уменьшения количества запросов, которые необходимо отправить в основную базу данных, путем временного хранения (кэширования) этих данных в Memcached.Теперь вы настроите WordPress для этого, чтобы ускорить работу вашего сайта. Сначала перейдите в раздел «Общие настройки» на вкладке «Производительность» (это вкладка, которую вы добавили, установив плагин кэширования). В разделе «Кэш базы данных» установите флажок «Включить» и выберите «Memcached» в качестве «Метод кэширования базы данных». Наконец, нажмите «Сохранить все настройки».
Вы должны получить следующее сообщение вверху страницы общих настроек:
Это происходит потому, что вам все еще нужно подключиться к вашему экземпляру Memcached, а экземпляр Memcached не работает локально (127.0.0.1). Чтобы указать строку подключения, нажмите «Кэш базы данных» на панели навигации. Вставьте строку подключения Memcached для своего экземпляра ElastiCache для Memcached и нажмите «Проверить». Если вы не видите зеленого сообщения «Тест пройден», проверьте информацию о подключении ElastiCache и повторите попытку. Нажмите «Сохранить все настройки», чтобы сохранить новую конфигурацию.
Обновить права доступа к файлу
Вам необходимо обновить права доступа к файлам, чтобы исправить сообщения в разделе «Установить права доступа к файлу конфигурации» выше.Выполните следующие команды и убедитесь, что первое сообщение, обнаруженное в разделе «Установить права доступа к файлу конфигурации», больше не появляется:
chmod 755 / opt / bitnami / apps / wordpress / htdocs / wp-content
chmod 640 /opt/bitnami/apps/wordpress/htdocs/wp-config.php
Поиск и устранение неисправностей
Если параметр Memcached выделен серым цветом в раскрывающемся списке конфигурации W3TC, необходимо убедиться, что клиент Memcached установлен.Вы можете сделать это, установив плагин WordPress PHP Info. На левой панели навигации нажмите «Настройки», затем «Информация о PHP». Найдите «memcached» и убедитесь, что клиент правильно установлен. Если вы не видите Memcached в списке, еще раз проверьте приведенные выше инструкции по установке клиента.
Если при настройке и тестировании строки подключения возникают проблемы с подключением к экземпляру Memcached, дважды проверьте конфигурацию группы безопасности ElastiCache для Memcached.Вы также можете использовать telnet для устранения проблем с подключением через командную строку с сервера WordPress, выполнив команду telnet
Вот несколько команд telnet, которые вы можете использовать:
- stats — показывает многочисленную статистику о сервере Memcached
- set — создает Memcached комбинацию ключ / значение
- get — получает ключ Memcached
- flush_all — удаляет все ключи
- Ctrl +] — выйти из telnet
telnet my_memcache.] '.
статистика
STAT pid 13360
STAT время работы 88
…
установить my_key 0900 8
my_value
ХРАНЕНИЕ
получить my_key
VALUE my_key 0 8
my_value
КОНЕЦ
flush_all
Ok
Что мне следует использовать для кэширования WordPress: Memcached или Redis?
Выбор между Memcached или Redis для вашего кеша WordPress — сложное решение. Не потому, что у них сильно различаются профили производительности (их нет), а потому, что любой из вариантов — , хороший, , в зависимости от ваших потребностей. В этом посте мы собираемся изучить различия между Redis и Memcached, как они работают для WordPress, а также множество различных факторов, не связанных с производительностью, которые вы должны учитывать при выборе.
Что такое Memcached?
Memcached — это высокопроизводительная система кэширования объектов распределенной памяти с открытым исходным кодом. Что это обозначает? Это означает, что вы можете хранить кучу строк в памяти и получать к ним доступ очень быстро . С точки зрения WordPress это означает, что с помощью плагина кэширования, такого как W3 Total Cache, мы можем сохранять результаты сложных SQL-запросов, которые WordPress выполняет в памяти, и мгновенно получать их.
Что такое Redis?
Redis — это хранилище в памяти с открытым исходным кодом, которое можно использовать в качестве кэша или посредника сообщений.Он немного отличается от Memcached, потому что с ним вы получаете гораздо больше. Например, Redis имеет встроенную репликацию, транзакции, постоянство диска, а также обеспечивает высокую доступность и разделение. Все эти функции означают, что управление WordPress может быть на немного сложнее, но не намного сложнее. Особенно, если вам просто нужно использовать его как кеш.
Производительность
И Redis, и Memcached обладают отличной производительностью. Оба они используются некоторыми из крупнейших веб-сайтов в мире и полностью включены в список Fortune 500.Учитывая, что не все элементы одинаковы, давайте посмотрим, как они работают на сайте WordPress с большим количеством операций чтения (этот блог).
Установка
Нагрузочные тесты выполняются для образа DigitalOcean WordPress Marketplace с установленным рядом с ним Redis или Memcached. Машины имеют 2 виртуальных ЦП, 2 ГБ ОЗУ и находятся в центре обработки данных SFO2 (Сан-Франциско) DigitalOcean.
Конфигурация нагрузочного теста:
- 500 одновременных пользователей
- Увеличение скорости 2 пользователя в секунду
- 45-минутный тест (выполняется дважды)
- Трафик поступает из центра обработки данных Digital Ocean NYC3.
Содержимое нагрузочного теста является копией этого блога.
Базовая производительность (без кеша)
Базовая производительность WordPress без кеша невысока.
50 запросов в секунду с МНОЖЕСТВОМ сбоевВремя отклика тоже невелико. В среднем чуть более 2 секунд.
~ 2 секунды время отклика в среднем.Производительность Redis
После того, как мы установим Redis и настроим W3 Total Cache для его использования, количество запросов, которые мы можем обработать, существенно возрастет.
300 запросов в секундуКоличество запросов стабильно составляет около 300 запросов в секунду, и никаких сбоев не регистрируется. Время отклика также немного улучшилось.
Среднее время отклика ~ 475 мс475 мс — это совсем неплохо. Это в 4 раза быстрее, чем без кеширования.
Memcached Performance
Если Memcached установлен и W3 Total Cache настроен на его использование, мы видим отличную производительность.
425 запросов в секундуВ этой ситуации Memcached работает даже лучше, чем Redis с 425 запросами в секунду по сравнению с 300 запросами Redis в секунду.Улучшения времени отклика аналогичны.
Время отклика 115 мсВремя отклика Memcached почти в 3 раза быстрее, чем время отклика Redis. В целом результаты, в которых Memcached работает быстрее, чем Redis, удивляют. В большинстве тестов Redis равен или быстрее Memcached, поэтому, скорее всего, это проблема конфигурации.
Другие соображения
При принятии решения, какой кеш использовать с настройкой WordPress, вам следует учитывать еще несколько соображений:
- Простота настройки — Как вы можете видеть из результатов производительности выше, Memcached имеет лучшая производительность из коробки.Зная то, что я знаю о Redis, это, вероятно, проблема конфигурации, но тот факт, что я мог получить такой уровень производительности без конфигурации из Memcached, является хорошей точкой данных.
- Сторонний хостинг — Вы действительно хотите управлять своим собственным сервером Redis или Memcached? Если вы этого не сделаете, вам стоит взглянуть на ситуацию со сторонними поставщиками. Redis имеет надежную экосистему поставщиков. Memcached немного менее надежен.
- Постоянство — Вам нужен кэш, чтобы пережить перезагрузку? Это важно, если стоимость повторного заполнения кэша слишком высока для вашей системы.Если вам действительно нужна настойчивость, Redis — ваш лучший вариант.
- Высокая доступность — Если вам нужна высокая доступность кластера кэширования, Redis — явный победитель. Memcached можно заставить работать таким образом, но Redis встроил его в ядро приложения.
Если вы хотите увидеть полные результаты нагрузочного тестирования, запущенного на Kernl, перейдите по ссылкам ниже.
Элементы управления SuperCacher в SG Optimizer Tutorial
В этом руководстве рассматриваются следующие темы:
Система SiteGround SuperCacher обеспечивает 3 уровня кэширования для вашего сайта — NGINX Direct Delivery, Dynamic Cache и Memcached.Прямая доставка NGINX включена по умолчанию для всех наших пользователей и не зависит от WordPress. Наибольший прирост производительности WordPress достигается за счет использования динамического кэша и Memcached. Динамический кэш также включен по умолчанию на всех наших серверах и сразу работает с веб-сайтами WordPress. Однако вы можете добиться наилучших результатов, если воспользуетесь нашим оптимизатором SG для управления его настройками. Memcached должен быть включен пользователем в Site Tools (узнайте, как это сделать в нашем руководстве по SuperCacher), а затем подключен к вашему WordPress с помощью плагина оптимизатора SG (узнайте, как это сделать ниже).
Динамическое кэширование
Dynamic Caching — это механизм кэширования полной страницы на базе NGINX. Он активирован по умолчанию на уровне сервера, и даже если у вас не установлен плагин SG Optimizer, мы все равно кэшируем ваш WordPress. Однако SG Optimizer позволяет вам иметь гораздо больший контроль над этим процессом, и мы настоятельно рекомендуем вам использовать его для получения наилучших результатов динамического кеширования и для полного доступа к параметрам конфигурации.
С помощью главного переключателя вы можете контролировать, кэшируется ваш сайт или нет.
Под главным выключателем вы найдете несколько вариантов конфигурации, которые описаны ниже.
Ручная очистка кэша
Нажатие этой кнопки полностью очистит динамический кеш, сохраненный для вашего веб-сайта. Полезно, если вы хотите убедиться, что загружаете последнюю версию своего сайта.
Автоматическая очистка кэша
Включение этой опции позволит нашему плагину очищать часть вашего кеша после обнаружения изменений в вашем контенте.Мы разработали набор правил для разумной и эффективной очистки динамического кеша в зависимости от изменений, произошедших на вашем сайте. Мы проводим полную очистку таких событий, как удаление категории, обновление или переключение плагина и темы, обновление ядра WordPress и т. Д. С другой стороны, мы выполняем интеллектуальную очистку, когда, например, сообщение изменено, добавлен комментарий или обновлена категория. .
Мы настоятельно рекомендуем включить этот параметр, так как он обеспечивает своевременное отображение нового контента на вашем сайте.
Как включить кэширование для конкретного браузера
Мы рекомендуем вам включать эту функцию только , если у вас возникли проблемы с плагинами, созданием мобильной версии вашего сайта или аналогичными функциями. После включения кеш должен создаваться отдельно для разных браузеров, что снижает его эффективность. Чтобы включить эту функцию, переместите кеш-память браузера в положение ON .
Исключить типы сообщений
С помощью этой оптимизации вы можете исключить все сообщения из определенного типа сообщений, кэшируемых динамическим кешем.Это гарантирует, что все они обслуживаются без кеширования для всех пользователей.
Исключить URL-адреса
В некоторых случаях вы можете захотеть исключить части вашего веб-сайта из кеша. Для этого мы разработали простой интерфейс. Просто вставьте относительный путь к URL-адресу, который вы хотите исключить, или к URL-адресу целиком — мы проанализируем его и добавим в правильный формат.
Помимо точных URL-адресов, вы можете использовать подстановочный знак « * », чтобы исключить целые разделы вашего сайта.Например, если вы хотите исключить все сообщения в категории «бизнес», вы можете добавить:
https://yoursite.com/category/business/*
Или, если вы хотите исключить все URL-адреса, в которых есть слово «бизнес», вы можете добавить:
* бизнес *
Состояние тестового кэша
Наша система кэширования полагается на заголовки и может быть немного сложной, особенно для новых пользователей, чтобы определить, предоставляется ли определенный результат динамически или из кеша. Вот почему мы разработали инструмент быстрого тестирования кеша, чтобы проверить, правильно ли кешированы ваши URL.Кроме того, это отличный способ проверить, действительно ли URL-адреса, исключенные из кеша, являются динамическими.
Memcached
Memcached — одно из самых популярных решений для кэширования объектов. Как только он станет активным для вашей учетной записи, вам также необходимо включить Memcached в плагине оптимизатора SG. Это настроит ваш сайт для использования службы.
Как мне использовать Memcached с WordPress? — Поддержка Oderland
Den här artikeln finns även på Svenska
WP-FFPC не обновлялся несколько лет.Но на данный момент у нас нет другого плагина, который можно было бы порекомендовать, и он по-прежнему работает нормально. Просто имейте в виду, что он может перестать работать в любой момент, если вы решите его использовать.
Представьте, что вы создавали свой веб-сайт в WordPress, у вас есть все страницы, контактные формы, изображения и плагины, необходимые для создания информативного и продающего веб-сайта для вашей компании.
Когда вы запускаете веб-сайт и пытаетесь его загрузить, вы понимаете, что загрузка завершается через несколько секунд.Как долго вы будете ждать, прежде чем сдаться и уйти в другое место, потому что этот сайт загружается медленно?
Мы расскажем, как оптимизировать свой сайт WordPress с помощью Memcached, который включен во все наши учетные записи веб-хостинга.
Как мы можем удостовериться?
В наших измерениях мы в основном используем DevTools, входящие в состав Google Chrome. Мы постараемся оптимизировать, чтобы время загрузки страниц было менее 100 мс, если вы используете быстрое соединение. Мы отключим кеш браузера, нажав Отключить кэш
в DevTools, чтобы это не повлияло на результаты.
DevTools активируется щелчком правой кнопкой мыши где-нибудь на странице в Chrome, а затем нажатием Проверить версию PHP
.nge, вам также необходимо убедиться, что активированы и OPCache, и Memcached, нажмите Сохранить внизу, когда закончите. Убедитесь, что ваш веб-сайт работает и у вас нет ошибок, иначе вам, возможно, придется вернуться к версии PHP, которую вы использовали
Ограничения в наших тестах
Мы будем учитывать только то, что сам HTML-документ оптимизирован.Есть еще много вещей, которые вы можете сделать для оптимизации своего сайта. Например, минимизация CSS, Javascript, изображений, CDN среди прочего, но это не будет рассматриваться в этом руководстве.
Мы также будем использовать только Chrome DevTools для проведения измерений и настроим кеш только для посетителей, а не для пользователей, вошедших в систему. Тест будет проводиться на:
40 сообщений, 19 страниц, 30 комментариевКак и у всех плагинов кеширования, есть свои плюсы и минусы. Мы решили использовать плагин WP-FFPC, но во время тестирования мы заметили, что WooCommerce не исключается автоматически.Поэтому мы рекомендуем не использовать WP-FFPC вместе с WooCommerce в настоящее время.
Версия, расширения и настройки PHP
Самое первое, что нужно сделать, — это проверить, используем ли мы последнюю версию PHP или, по крайней мере, PHP 7.0 и что модули OPCache и Memcached активированы из cPanel.
PHP 7.x почти в два раза быстрее, чем PHP 5.6, то есть примерно в три раза быстрее, чем PHP 5.3, так что это важно. Мы настоятельно рекомендуем вам обновить версию как минимум до PHP 7.0, если вы еще не используете его, и если ваш веб-сайт его поддерживает. У нас есть руководство, которое расскажет, как изменить версию PHP.
На той же странице, где вы меняете версию PHP, вам также необходимо проверить, что OPCache и Memcached активированы. Убедитесь, что ваш веб-сайт работает и у вас нет ошибок, иначе вам, возможно, придется вернуться к версии PHP, которую вы использовали ранее.
Плагин и настройки Memcached
Установите плагин WP-FFPC через админку WordPress и активируйте его.Требуется несколько последних штрихов, прежде чем он заработает должным образом.
Настроить WP-FFPC
Нажмите Settings
в админке WordPress и выберите WP-FFPC
. Введите unix: /// tmp / memcached
в поле Hosts
на вкладке Backend Settings
, это означает, что он будет искать unix-сокет с путем / tmp / memcached
. Вы также можете установить флажок для Включить двоичный режим memcached
для небольшого увеличения производительности.
Щелкните Сохранить изменения
внизу.
Теперь кеш должен работать. При желании вы также можете изменить частоту очистки кеша. По умолчанию кэш установлен на 300 секунд (5 минут), но не стесняйтесь экспериментировать с настройками, чтобы увидеть, что лучше всего подходит для вас. У него также есть возможность очистить кеш вручную, если вы внесли изменения, которые хотите отобразить сразу.
Мы использовали следующие настройки WP-FFPC для проведенных нами тестов:
- Выберите серверную часть: PHP Memcached
- Срок действия сообщений: 14400
- Срок действия таксономии: 14400
- Срок действия для домашней страницы: 14400
- Кэш изменен индексная страница сообщений
- Хэш-ключ SHA1: Да
Результаты тестирования
Тесты проводились с веб-браузером Chrome в режиме инкогнито, с запущенными DevTools и отключенным кешем.Загруженная страница была из Theme Test Unit и содержала галерею. Мы очищали кеш между каждым тестом, а также нагревали кеш, вручную перезагружая одну и ту же страницу 5 раз. Время загрузки означает время, затраченное сервером на создание и отправку HTML-документа (вверху под Network DevTools). Щелкните ссылки, чтобы увидеть распечатанный экран теста.
Заключение
Между PHP 5.3 и 5.6 были явные улучшения производительности, и даже больше, когда вы достигнете 7.0, что примерно в два раза быстрее, чем 5.6. Никаких серьезных улучшений производительности между 7.0 и 7.1 не произошло.
Веб-сайт загружается быстрее, если в cPanel активировано расширение OPcache. Если мы также активируем Memcached с помощью плагина WP-FFPC, время загрузки почти в 100 раз быстрее при его кешировании.
Мы должны знать, какой плагин кеширования мы выбираем. Некоторые из них не поддерживают другие плагины, такие как WooCommerce, WPML и другие, без некоторых настроек или могут вообще не работать.WP-FFPC хорошо работает с более или менее статическим сайтом, который использует сообщения и страницы блога, но хуже работает с интернет-магазином. Например, он очень хорошо работает с веб-сайтом, на котором вы сейчас находитесь.
Мы рекомендуем сначала выполнить обновление до PHP 7.0, если вы еще этого не сделали, и убедиться, что OPcache активен. Если веб-сайт более или менее статичен, можно попробовать WP-FFPC, чтобы получить молниеносный веб-сайт!
Как установить Varnish + Memcached для повышения скорости загрузки страницы WordPress — Торбьорн Зеттерлунд
Когда трафик веб-сайта растет и наблюдается увеличение трафика, одним из компонентов, который быстрее всего демонстрирует стресс, является внутренняя база данных.Если ваша база данных не распределена и не настроена для обработки высоких нагрузок, она может быть легко перегружена из-за относительно небольшого увеличения трафика. Используя комбинацию Varnish + Memcached, я могу снять нагрузку с сервера.
Я собираюсь объяснить, как установить Varnish + Memcached на сервер под управлением Ubuntu 14.04. Почему я устанавливаю Varnish + Memcached, причина в том, чтобы ускорить время загрузки веб-страницы с моего сайта WordPress.
Что такое Varnish + Memcached
Varnish — это ускоритель HTTP для ускорения работы сервера, особенно в периоды высокой посещаемости сайта.Он работает, перенаправляя посетителей на статические страницы, когда это возможно, и использует сам сервер только в том случае, если есть необходимость в активном процессе.
Memcached — это система кэширования, которая работает, временно сохраняя в памяти информацию, которая обычно извлекается из базы данных. Следующий запрос информации в памяти выполняется невероятно быстро, без нагрузки на внутреннюю базу данных.
Предварительные требования
Прежде чем мы начнем, у вас должен быть обычный пользователь без полномочий root на вашем сервере, у которого есть доступ к привилегиям sudo.
Установить Memcached
Первым шагом будет обновление нашего локального индекса пакетов. Затем мы можем установить наши программы.
Я предполагаю, что у вас уже установлен стек LAMP, поэтому мы собираемся установить memcached, а также расширение PHP, которое обрабатывает взаимодействия с memcached. Вы можете получить все необходимое, набрав:
sudo apt-get update sudo apt-get install php5-memcached memcached
Проверьте установку
Memcached уже установлен и готов к работе.Мы можем проверить это, проверив, запущена ли служба memcached, набрав:
пс, доп. | grep memcached
кэш памяти 24262 0,0 0,0 325392 1176? Сл 07:58 0:00 / usr / bin / memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 корень 24586 0,0 0,0 11740 936 точек / 0 S + 08:35 0:00 grep --color = auto memcached
Вы можете запросить статистику службы, набрав:
echo "настройки статистики" | NC localhost 11211
Если вам когда-нибудь понадобится остановить, запустить или перезапустить службу memcached, это можно сделать, набрав что-то вроде этого:
перезапуск службы sudo memcached
Установить лак
Сайт varnish рекомендует устанавливать пакет varnish через свой репозиторий.Вы можете начать этот процесс, взяв репозиторий:
sudo curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key добавить -
Следующим шагом будет добавление репозитория в список apt-источников. Идите вперед и откройте файл.
судо нано /etc/apt/sources.list
Оказавшись внутри файла, добавьте репозиторий varnish в список источников.
Дебhttp://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0
Сохраните и выйдите.
Наконец, обновите apt-get и установите лак.
sudo apt-get update sudo apt-get установить лак libvarnish-dev
Настроить лак
Varnish будет обслуживать контент через порт 80, одновременно получая его из apache, который будет работать на порту 8080.
Идите вперед и начните настройку, открыв
/ и т. Д. / По умолчанию / лак
файл:
судо нано / и т. Д. / По умолчанию / лак
Найдите строки под «DAEMON_OPTS» — в разделе «Альтернатива 2» и измените номер порта с «-a» на 80.Конфигурация должна соответствовать следующему коду:
DAEMON_OPTS = "- a: 80 \ -T локальный: 6082 \ -f /etc/varnish/default.vcl \ -S / и т.д. / лак / секрет \ -s malloc, 256 м "
Это единственное изменение, которое вам нужно сделать. Сохраните и выйдите из этого файла и откройте файл default.vcl:
Судо нано /etc/varnish/default.vcl
Этот файл сообщает varnish, где искать содержимое веб-сервера. Он уже должен быть настроен для работы с серверной частью (т. Е.apache) прослушивает порт 8080.
Нам нужно использовать этот файл для вторичной цели. WordPress переполнен различными cookie-файлами, что затрудняет его кеширование. Чтобы лак работал максимально эффективно, нам нужно указать ему, чтобы он удалял все файлы cookie, не относящиеся к административной части сайта WordPress.
Кроме того, нам нужно указать Varnish удалить файлы cookie, которые затрудняют кеширование WordPress.
Начало по умолчанию.vcl файл должен выглядеть так:
[...] backend default { .host = "127.0.0.1"; .port = "8080"; } # Удалите все файлы cookie, отправленные в WordPress. sub vcl_recv { if (! (req.url ~ "wp- (логин | admin)")) { сбросить req.http.cookie; } } # Отбросьте все файлы cookie, которые WordPress пытается отправить обратно клиенту. sub vcl_fetch { if (! (req.url ~ "wp- (логин | admin)")) { сбросить beresp.http.set-cookie; } } [...]
Осторожное примечание — вы должны понимать, какие функции вам нужно использовать на сайте WordPress для правильной настройки лака, если вы, например, продаете вещи на своем сайте с помощью корзины покупок, такой как Woocommerce, ваша конфигурация лака будет выглядеть иначе, вот пример:
# Удалите все файлы cookie, отправленные в WordPress.sub vcl_recv { if (! (req.url ~ "(wp-login | wp-admin | cart | my-account | checkout | addons)")) { сбросить req.http.cookie; } } # Отбросьте все файлы cookie, которые WordPress пытается отправить обратно клиенту. sub vcl_fetch { if (! (req.url ~ "(wp-login | wp-admin | cart | my-account | checkout | addons)")) { сбросить beresp.http.set-cookie; } }
Настроить Apache
До сих пор мы сказали varnish, что порты apache будут работать на 8080. Однако настройки по умолчанию для apache по-прежнему находятся на порту 80.Сейчас мы исправим неточность. Откройте файл портов apache:
Судо нано /etc/apache2/ports.conf
Измените номер порта как для NameVirtualHost, так и для строки Listen на порт 8080, и виртуальный хост должен быть доступен только с локального хоста. Конфигурация должна выглядеть так:
ИмяVirtualHost 127.0.0.1:8080 Слушайте 127.0.0.1:8080
Измените также эти настройки в файле виртуального хоста по умолчанию:
судо нано / и т. Д. / Apache2 / сайты-доступные / по умолчанию
Виртуальный хост также должен быть настроен на порт 8080, и обновленная строка выглядит так:
Сохраните файл, выйдите из него и перезапустите Apache и Varnish, чтобы изменения вступили в силу.
sudo service apache2 перезапуск sudo сервисный лак перезапуск
Для проверки статуса лака вы можете использовать эту команду.
лак, статус
Для включения Varnish и Memcached в вашем WordPress
Теперь, после того, как вы установили Varnish + Memcached на свой сервер, остается только один шаг, чтобы заставить WordPress использовать Varnish + Memcached, установить плагин WordPress W3 Total Cache, после установки плагина вы можете настроить каждый параметр для улучшения производительность вашего сайта.
Если у вас есть какие-либо комментарии по этому поводу, оставьте их ниже.
Использование WPML с кэшированием Memcached
- Обновлено
- 13 сентября 2019
Вы можете включить Memcache для многоязычного сайта WPML и улучшить его скорость и производительность.
Многоязычные веб-сайты часто сильно зависят от запросов к базе данных, по крайней мере, на данный момент.Использование Memcached может значительно повысить производительность сайта, заменив стандартный непостоянный кеш WordPress на постоянный.
Следующие шаги должны работать в большинстве случаев, но учтите, что это зависит от ваших настроек. Если эти действия не помогли вам, откройте заявку на нашем форуме поддержки.Как использовать плагин Memcached на вашем сервере
Служба хостингаSiteGround предоставляет своим клиентам плагин SG Optimizer. Хотя этот плагин не работает с другими хостинг-провайдерами, вы все равно можете использовать один из его компонентов и настроить его для своего сайта.
Единственные требования: ваш сервер поддерживает Memcached и установлено расширение PHP.
Установка
Загрузите следующий файл из подключаемого модуля SG Optimizer: https://plugins.svn.wordpress.org/sg-cachepress/trunk/templates/memcached.tpl
Переименуйте его в object-cache.php и загрузите в папку wp-content .
Конфигурация
SiteGround автоматически настраивает правильный хост и порт с помощью плагина SG Optimizer.Однако вам нужно будет отредактировать файл object-cache.php и сделать это вручную.
Найдите конструктор в object-cache.php , чтобы правильно установить $ memcached_servers :
Измените @ changedefaults @ на порт вашего сервера. Эти данные вам предоставит ваш хостинг-провайдер.
Например, ваша окончательная конфигурация может выглядеть примерно так.
Вот и все! После этой реализации ваш объектный кеш будет постоянным.Это означает, что любые последующие запросы страниц будут повторно использовать кэшированные данные, что значительно повысит производительность вашего сайта WPML и WordPress.
Отладка
В целях отладки вы можете добавить следующий фрагмент в файл functions.php в своей теме, и он будет отображать информацию об активности Memcached:
Как использовать memcached в WordPress
Memcached — это хранилище ключей и значений в памяти для небольших фрагментов произвольных данных (строк, объектов) из результатов вызовов базы данных, вызовов API или рендеринга страницы.
Memcached простой, но мощный . Его простой дизайн способствует быстрому развертыванию, простоте разработки и решает многие проблемы, с которыми сталкиваются большие кеши данных. Его API доступен для большинства популярных языков.
Используя memcached (правильно), вы ограничиваете количество запросов к базе данных (потому что вместо этого они будут читать результаты из memcached). Таким образом, после использования memcached вы можете обслуживать больше одновременных пользователей, поскольку выполняется меньше запросов к базе данных, и скорость вашего веб-сайта будет намного выше.
WordPress по умолчанию использует кеш объектов, но объект сохраняется на диске. Используя Memcached, объект может быть сохранен в памяти, это намного быстрее, чем метод на основе диска. Если объект кэшируется с помощью Memcached, он будет загружен из памяти напрямую, когда потребуется использовать послесловие.
Чтобы использовать Memcached в WordPress, вам необходимо установить соответствующее расширение PHP. Обратите внимание, что есть два расширения PHP для Memcache: PHP Memcache и PHP Memcached. Верно, с той лишь разницей, что у последнего в конце еще одна буква d
.
Вы можете использовать phpinfor ()
, чтобы проверить, какое расширение установлено на вашем сервере.
Теперь вам необходимо загрузить соответствующие плагины WordPress Memcached на основе вашего расширения php memcache
. Расширение PHP Memcache : http://wordpress.org/extend/plugins/memcached/
Расширение PHP Memcached : https: //wordpress.