Використання Memcache ефективно з Drupal 7 Multisite


12

Я встановлюю коефіцієнт звернень 55% для нашого екземпляра мембран (v1.4.4) і мені цікаво, що можна зробити, щоб поліпшити коефіцієнт звернень. Ми перебуваємо в налаштуваннях багатосайтових сайтів (30+ сайтів) з двома веб-серверами, збалансованими завантаженням; на кожному веб-сервері є примірник запам’ятовування.

У settings.phpмоєму:

$conf['memcache_servers'] = array(
         '11.22.33.44:11211' => 'default',
         '11.22.33.45:11211' => 'default',
      );
$conf['memcache_bins'] = array('cache' => 'default');
$conf['memcache_key_prefix'] = $_SERVER['SERVER_NAME'];

Я дивлюся на використання бункерів для покращення співвідношення кількості звернень, але натрапив на деякі пропозиції, що останній модуль пам’яті вже робить це, але я не впевнений, оскільки інструкції з модулем містять вказівки щодо налаштування бункерів.

Якщо сміттєві кошики - це шлях, як визначити, який (стіл?) Повинен мати свій контейнер? Це таблиці кеш-пам'яті, які я маю на своїх сайтах:

cache
cache_admin_menu (empty)
cache_block (empty)
cache_bootstrap
cache_field
cache_filter (empty)
cache_form (empty)
cache_image (empty)
cache_media_xml (empty)
cache_menu
cache_page (empty)
cache_path (empty)
cache_token (empty)
cache_update (empty)
cache_views
cache_views_data (empty)
ctools_css_cache (empty)
ctools_object_cache (empty)

Що ще я можу зробити на додаток до смітників, щоб покращити використання пам'яті?

Дуже дякую!


30 + сайтів? Чи можете ви поділіться деталями навколишнього середовища, PHP mem та MySql max_allowed_packet, я також планую запускати безліч підсайтів, у них вже 4 плани мати 10, але не був впевнений, чи зможе друпал це впоратися.
GoodSp33d

@Kantu - Я хочу тримати цю тему про згадане з Drupal. Якщо ви опублікуєте нове запитання, я буду радий зважитись… або ознайомтесь із подібними дискусіями тут або на drupal.org.
КМ.

Мені просто хотілося знати конфігурації вашого сервера, оскільки запуску 30
підсайтів

Відповіді:


13

Після багато досліджень, ось що допомогло нашому співвідношенню хітів та використанню шаблону:

  • Оновлено пам'ять до 1.4.10 (остання версія з покращенням продуктивності)
  • Увімкнено бінарний формат і стиснення
  • Використовуйте за замовчуванням для бін

Наш запам'ятоване конф у налаштуваннях.php зараз виглядає приблизно так:

$conf['memcache_bins'] = array('cache' => 'default');
$conf['memcache_options'] = array(
  Memcached::OPT_COMPRESSION => TRUE,
  Memcached::OPT_BINARY_PROTOCOL => TRUE,
  );
$conf['memcache_persistent'] = TRUE;
$conf['memcache_key_prefix'] = $_SERVER['SERVER_NAME'];

Найбільший прибуток

Найбільшим виграшем для нас було включення стиснення, навіть якщо в документах зазначено, що це збільшує цикли процесора. У нас розміщено 4 процесора, призначених для нашої віртуальної машини, і різниці не помітили. Час складених дзвінків склав від ~ 1250 мс до ~ 150 мс (отримано від NewRelic) для створення фрагмента вмісту (користувацька стаття в нашому випадку).

Коефіцієнт ударів

Наше співвідношення хітів зараз ~ 70% - набагато краще, ніж раніше 55%, але не тихо 90% + про які деякі повідомили ... квест продовжується (-:

Сподіваємось, це допомагає комусь іншому. Якщо ви зіткнулися з іншими вдосконаленнями або маєте виправлення / пропозиції, опублікуйте коментарі чи відповіді.

Оновлення - версія модуля memcahe

Ми перейшли від версії 1.0-beta4 до 1.0, і зараз наш показник хітів становить 87%. Мені довелося перезапустити запам’ятоване, оскільки коефіцієнт ударів не перевищував 70%. На даний момент у нас виділено 64 МБ на запам’ятовування, тому для нас це не було великою справою.


1
Я б встановив префікс ключа на щось твердо кодований і не залежав від даного імені сервера. Наприклад, якщо хтось звертається до вашого веб-сайту з www або без нього. (яку ви можете переспрямувати чи щось, лише приклад), ви отримаєте інший ключовий префікс кешу. Однак вам доведеться змінити settings.php для кожного сайту.
Бердір

1
Крім того, частота звернень сильно залежить від ваших сайтів .. якщо у вас багато явного очищення кешу або якщо пам’ять працює повноцінно і вам доведеться регулярно викидати речі, швидкість звернення очевидно знизиться.
Бердір

Дякуємо за зважування в @Berdir. Я перевіряв плити і досі ім'я сервера як ключове не було проблемою, але я бачу, де це могло бути. Виселення є низькими ~ 170 і мають 25% (~ 17 МБ) кімнати, залишеної в пам'яті. Чи існує спосіб виявити причину пропусків 30% кешу? Кеш очищається чи щось інше ...?
КМ.

Не легко. На час відмови кеш-пам'яті ви не можете відтворити те, що сталося з ним. Що ви можете спробувати - це чіткі дзвінки в кеш-пам'яті журналу, включаючи зворотній слід, щоб побачити, звідки вони надходять, але не впевнені, чи допоможе це сильно.
Бердір
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.