Використовуючи Drupal 7 за допомогою APC, Varnish та Memcache, які бункери потрібно поставити в який кеш?


12

Я оптимізую веб-сайт Drupal 7, і у мене встановлені лаки, пам’ятні пам’яті та APC, які працюють та працюють з їх окремими модулями Drupal 7. У моїх настройках.php у мене наведені $confнижче варіанти.

Моє запитання полягає у покращенні продуктивності та чи всі ці кеші добре працюють разом, чи потрібно мені додавати більше параметрів конфігурації?

Як правило, модуль readme зазвичай передбачає єдину кеш-систему. Чи потрібні певні налаштування, щоб досягти кращої продуктивності від запуску 3 окремих резервних файлів кешування?

// Add Varnish as the page cache handler.
$conf['cache_backends'][] = 'sites/all/modules/varnish/varnish.cache.inc';
$conf['cache_class_cache_page'] = 'VarnishCache';
// Drupal 7 does not cache pages when we invoke hooks during bootstrap.
// This needs to be disabled.
$conf['page_cache_invoke_hooks'] = FALSE;

$conf['cache_backends'][] = 'sites/all/modules/apc/drupal_apc_cache.inc';
$conf['cache_class_cache'] = 'DrupalAPCCache';
$conf['cache_class_cache_bootstrap'] = 'DrupalAPCCache';
//$conf['apc_show_debug'] = TRUE;  // Remove the slashes to use debug mode.

$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';

Мені здається, сторінка проекту для APC досить добре відповідає на ваше запитання.
Летаріон

Так, я буду приймати цю пораду ... "Використовуйте APC для кешів, які не змінюються часто і не зростатимуть занадто великими, щоб уникнути фрагментації. Налаштування APC за замовчуванням дозволить вам ..", але я все-таки запитав це питання, оскільки він також не враховує Varnish, можуть бути певні зміни конфігурації, які мені не вистачає, я опублікую саме те, що в кінцевому підсумку використовую.
користувач1073319

Відповіді:


6

Мені все гаразд.

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

Я також думаю, що прапор page_cache_invoke_hooks більше не потрібен, див. Http://drupal.org/node/804864 . Якщо вам не потрібні ці гачки для запуску, ви можете встановити їх, але для роботи Varnish більше не потрібно.

Використання кеша APC з декількома веб-серверами означає, що ви стикаєтеся з невідповідностями при очищенні кеш-пам'яті на одному сервері, тому якщо у вас є кілька таких, ви, ймовірно, хочете використовувати Memcache і для кешу, і для cache_bootstrap. У мене також були проблеми зі стабільністю при використанні кешу APC, але я використовував його для всіх кешів, що, можливо, було проблемою.


Чи є якісь проблеми з використанням більш ніж однієї системи кешування, таких як apc, memcache тощо?
chrisjlee

Ні, ви можете їх змішувати, як виглядаєте. Ви можете помістити менший контейнер для кешу, як "кеш", в APC, який є швидшим, але зазвичай не має стільки місця, і більші розмістіть у пам'яті.
Бердір

Дякую. Чи знаєте ви, де я можу дізнатися, як це зробити?
chrisjlee

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

2

У мене працює аналогічна установка з серверами memcache та Varnish локально на кожному веб-сервері. Я вважав, що кешування сторінок локально за допомогою Varnish буде не таким ефективним, як використання memcache.

Я розглядаю можливість використання MongoDB для чогось, оскільки він також працює і це також спільний ресурс.

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