Оптимизация настроек Drupal для работы с Memcached

Опубликовано admin - пн, 09/17/2012 - 15:51

У нас в Drupal-coder.ru появился новый клиент на оптимизацию Drupal и дальнейшую поддержку.

Это большой региональный портал. У клиента сайт временами сильно тормозил и падал, хотя размещен у известного Drupal хостера. Из-за этих тормозов и невозможности получения root доступа у хостера мы решили перенести сайт на наш виртуальный сервер и разобраться в причинах торможения. Сервер настроили в следующем варианте Nginx + Apache + Mysql + PHP + Memcached + APC.

После переноса выяснилось, что сайт и у нас сильно тормозит. Страницы генериловались по 17 секунд, при этом запрос к базе выполнялся всего 650 мс, остальное время Apache грузил процессор на 100%.

Исходя из полученных результатов мы сделали вывод, что есть какие-то проблемы с самим сайтом, поэтому решили воспользоваться XHprof для профилирования Drupal и нахождения узких мест сайта.
После профилирования сайта выяснилась причина серьезных тормозов: кэш темы не помещался в memcached из-за ограничения 1 MB на 1 объект в кэше.
В результате для ускорения мы приняли решение добавить в settings.php параметр для сжатия объектов кэша до помещения в memcached.

$conf['memcache_options'] = array(
  Memcached::OPT_COMPRESSION => TRUE,
);

Еще как вариант можно увелить ограничение 1MB на один объект, сделать это можно следующим образом:
добавить в /etc/memcached.conf параметр

-I 2MB

Увеличиваем максимальный размер одного объекта кэша до 2 MB.

Теги

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

Filtered HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.
  • Web page addresses and email addresses turn into links automatically.