Содержание

Подключение memcached для CMS WordPress.

Предупреждение: с момента публикации статьи прошло много времени, некоторая информация может быть неактуальна!

Данная статья описывает установку кэширующего плагина для CMS WordPress. Предполагается, что Вы уже имеете установленный WordPress, работающий в технических условиях тестового стенда.

Тестовый стенд.

Подготовка.

  1. Для начала, убедитесь, что Ваш WWW-домен использует версию PHP 7.2. Если нет, то измените версию PHP, либо продолжайте следовать инструкции, делая акцент на иную версию PHP. Подробнее: Как узнать и изменить версию PHP?.
  2. Теперь, нам необходимо включить memcached расширение в настройках PHP. Для этого войдите в LealPanel, используя Ваш логин и пароль от ISPManager. Перейдите в раздел «Конфигурирование PHP», выберите вкладку настроек PHP 7.2 и включите модуль «memcached», установив соответствующую галочку. Сохраните настройки. Подождите одну минуту, пока изменения вступят в силу.
  3. Теперь нам необходимо включить сам Memcached-сервер. Перейдите в раздел внутри LealPanel — «Memcached-сервер». Нажмите кнопку «Включить memcached». Дождитесь пока обновится индикатор включения и появится статус «Работает». Одновременно с этим система выдаст адрес UNIX-сокета вида: /home/www/ваш_логин/data/ваш_логин_mem.sock.
    Именно этот адрес нужно использовать для настройки CMS WordPress в дальнейшем, запишите его.

На этом подготовка со стороны системы завершена. Переходим к установке плагина «WP-FFPC» для WordPress.

Установка плагина для WordPress.

  1. Войдите в панель администратора WordPress по адресу Вашего сайта.
  2. Перейдите в раздел «Плагины» ⇒ «Добавить новый»
  3. Через поиск плагинов, введите для поиска: «FFPC», появится плагин, как на скриншоте ниже:

  4. Нажмите кнопку «Установить» напротив плагина «WP-FFPC».
  5. Плагин установится, активируйте плагин после установки, нажав кнопку «Активировать» на той же странице.
  6. Войдите в настройки плагина «WP-FPCC», как на скриншоте ниже:

  7. Убедитесь, что «Select Backend» установлен в значение «PHP Memcached», если это не так, то установите данное значение.
  8. Перейдите во вкладку настроек «Backend Settings».
  9. Измените значение поля «Hosts» следующим образом. В пункте 3 (три) раздела подготовки данной инструкции, мы получали адрес вида /home/www/ваш_логин/data/ваш_логин_mem.sock. Вам необходимо привести данный адрес к следующему виду, добавив в начало «unix://». То есть значение поля «Hosts» должно быть таким: unix:///home/www/ваш_логин/data/ваш_логин_mem.sock
    (НЕ ЗАБУДЬТЕ ИЗМЕНИТЬ ЗНАЧЕНИЯ НА СВОИ!)
  10. Остальные поля в модальной вкладке «Backend Settings» должны быть пустыми, как на скриншоте ниже:

  11. Нажмите «Save Changes», для применения настроек.
  12. В случае успешного подключения к Memcached-серверу появится следующая надпись:
  13. Если Вы, также как и мы, устанавливали чистую WordPress, то, вероятно, Вам понадобится занести строку
    define('WP_CACHE', true);
    в файл wp-config.php.
    Данная строка должна быть добавлена перед строчками MySQL-опций, обычно обозначается комментарием:
    // ** MySQL settings - You can get this info from your web host ** //.
  14. На этом установка плагина завершена!

Тестирование утилитой ab (Apache Benchmark)

Мы решили протестировать WordPress с включенным и настроенным плагином «WP-FFPC» и с отключенным.

ab -c 8 -n 10000 http://test-wp.asyx.ru/

Server Software:        nginx/1.12.2
Server Hostname:        test-wp.asyx.ru
Server Port:            80

Document Path:          /
Document Length:        53960 bytes

Concurrency Level:      8
Time taken for tests:   186.452 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      542200000 bytes
HTML transferred:       539600000 bytes
Requests per second:    53.63 [#/sec] (mean)
Time per request:       149.161 [ms] (mean)
Time per request:       18.645 [ms] (mean, across all concurrent requests)
Transfer rate:          2839.83 [Kbytes/sec] received

Результат теста: 53.63 страниц в секунду, на тестирование затрачено 186.452 секунд.

ab -c 8 -n 10000 http://test-wp.asyx.ru/

Server Software:        nginx/1.12.2
Server Hostname:        test-wp.asyx.ru
Server Port:            80

Document Path:          /
Document Length:        53959 bytes

Concurrency Level:      8
Time taken for tests:   5.404 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      542370000 bytes
HTML transferred:       539590000 bytes
Requests per second:    1850.31 [#/sec] (mean)
Time per request:       4.324 [ms] (mean)
Time per request:       0.540 [ms] (mean, across all concurrent requests)
Transfer rate:          98003.33 [Kbytes/sec] received

Результат теста: 1850.31 страниц в секунду, на тестирование затрачено 5.404 секунд.