Memcached: эффективный инструмент кеширования

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

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

Memcached и Memcache

Герой этой статьи – Memcached, сервер кеширования данных в оперативной памяти, использующийся для ускорения работы высоконагруженных проектов за счет снижения нагрузки на базы данных. Memcached сохраняет информацию в оперативной памяти в виде пары ключ/значение, что позволяет кешировать результаты выполнения скриптов сайта и возвращать готовые значения при повторном обращении к ним.

Используя Memcached, мы решаем сразу две задачи:

  • увеличиваем скорость работы сайта;
  • снижаем нагрузку на сервер.

Для работы с кеширующим сервером Memcached требуется модуль PHP. Мы будем использовать наиболее стабильный и производительный — Memcache.

Если вы используете наши услуги виртуального хостинга, для активации модуля в Панели управления аккаунтом хостинга откройте раздел «Аккаунт» → «Услуги» и выберите нужный объем памяти, кликнув на соответствующее поле. (А если вы еще не используете наши услуги, ловите промокод BLOG17SPH)

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

unix:///home/login/tmp/memcached.sock

где вместо login следует указать логин вашего аккаунта.

WordPress

У CMS WordPress нет встроенной поддержки Memcached, но для нее разработано огромное количество плагинов, подходящих для решения нашей задачи. Рассмотрим один из наиболее простых в настройке плагинов – WP Memcached Manager.

После установки плагина в боковом меню появится раздел «Memcached». Выбираем пункт «Edit servers», вводим путь до сокета в поле «Server IP / Hostname» и 0 (номер порта) в «Server port».

Переходим в подраздел «Memcached» и выбираем из выпадающего списка введенное нами значение.

Все, настройка окончена!

На тестовом стенде, где мы проверяли время ответа сервера при неизменном количестве запросов, у нас получились следующие результаты:

без кеширования:

Transactions: 4404 hits
Elapsed time: 416.00 secs
Response time: 0.09 secs
Longest transaction: 4.36

с кеширрованием Memcached:

Transactions: 4404 hits
Elapsed time: 249.74 secs
Response time: 0.06 secs
Longest transaction: 2.74

Разница хорошо заметна на времени, которое потребовалось для первого и второго теста. Результат с кешированием на 40% эффективнее.

Joomla!

В CMS Joomla! установка сторонних компонентов для использования Memcached не понадобится.

Для включения кеширования перейдем на вкладку «Система» раздела «Система» → «Общие настройки» панели управления сайтом.

В раздел «Настройка кэша» нужно внести следующие изменения:

Готово!

без кеширования

Transactions: 6402 hits
Response time: 0.05 secs
Longest transaction: 1.64

с кешированием Memcached

Transactions: 6402 hits
Response time: 0.03 secs
Longest transaction: 1.09

1C: Bitrix

Способ подключения к серверу кеширования в CMS Bitrix немного отличается от рассмотренных ранее.

Создадим файл bitrix/.settings_extra.php и добавим в него следующие инструкции:

<?php
return array (
  'cache' => array( 
    'value' => array ( 
      'type' => 'memcache', 
      'memcache' => array( 
        'host' => 'unix:///home/login/tmp/memcached.sock', 
        'port' => '0'
      ), 
      'sid' => $_SERVER["DOCUMENT_ROOT"]."login" 
    ), 
  ), 
);

Замените «login» на логин вашего аккаунта.

Перейдите на вкладку «Битрикс (оптимально)» раздела «Настройки» → «Производительность» → «Панель производительности» административного раздела сайта и убедитесь в том, что все настроено верно.

Пройдите по пути «Рабочий стол» – «Настройки» – «Производительность» – «Панель производительности» и проверьте, указано ли значение “memcache” в пункте «Хранение кеша» во вкладке «Битрикс (оптимально)».

На этом все, удачной оптимизации!

Добавить комментарий