APC, Vernik ve Memcache ile Drupal 7'yi kullanarak, hangi önbelleğe hangi bölmeleri koymak gerekir?


12

Bir Drupal 7 web sitesini optimize ediyorum ve vernik, memcache ve APC'nin hepsi yüklü ve kendi Drupal 7 modülleriyle çalışıyor. Benim settings.php $confaşağıdaki seçenekleri var .

Sorum daha iyi performans elde etmek ve tüm bu önbelleklerin birlikte iyi çalışmasını sağlamak için daha fazla yapılandırma seçeneği eklemem gerekir mi?

Modül benioku dosyaları genellikle tek bir önbellek sistemi kullanır. 3 ayrı önbellek arka ucunu çalıştırmada daha iyi performans elde etmek için herhangi bir tweks var mı?

// 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';

Bana öyle geliyor ki APC'nin proje sayfası sorunuzu oldukça iyi cevaplıyor.
Letharion

Evet, bu tavsiyeyi alacağım ... "Sık sık değişmeyen ve parçalanmayı önlemek için çok fazla büyümeyecek olan önbellekler için APC kullanın. APC'nin varsayılan ayarı size izin verecektir .." soru Varnish için de hesap vermediğinden, eksik olduğum bazı belirli yapılandırma değişiklikleri olabilir, tam olarak ne kullandığımı göndereceğim.
user1073319

Yanıtlar:


6

Bana iyi gözüküyor.

Deneyebileceğiniz Memcache seçenekleriyle oynamak. Örneğin bir sıkıştırma bayrağı vardır, ancak sıkıştırma / açma işlemini yapmak için daha yüksek bir cpu kullanımınız olduğundan, etkinleştirmenin mantıklı olması genellikle siteye bağlıdır.

Ayrıca artık page_cache_invoke_hooks bayrağının gerekli olmadığını düşünüyorum, bkz. Http://drupal.org/node/804864 . Bu kancaları çalıştırmak için ihtiyacınız yoksa, ayarlayabilirsiniz, ancak artık Vernik'in çalışması için gerekli değildir.

Birden çok web sunucusuyla APC önbelleği kullanmak, bir sunucudaki önbellekleri temizlerken tutarsızlıklarla karşılaştığınız anlamına gelir; bu nedenle birden çok sunucunuz varsa, büyük olasılıkla önbellek ve cache_bootstrap için Memcache kullanmak istersiniz. APC önbelleğini kullanırken de kararlılık sorunları yaşadım, ancak sorun olabilecek tüm önbellekler için kullandım.


Apc, memcache vb. Gibi birden fazla önbellek sistemi kullanmada herhangi bir sorun var mı?
chrisjlee

Hayır, onları bakarken karıştırabilirsiniz. APC'ye 'önbellek' gibi daha küçük bir önbellek kutusu koyabilirsiniz, bu da daha hızlıdır, ancak genellikle bu kadar fazla alana sahip değildir ve daha büyük olanları memcache'ye koyabilirsiniz.
Berdir

Teşekkürler. Bunu nasıl yapacağımı nereden bulabileceğimi biliyor musun?
chrisjlee

Her önbellek bölmesi belirli bir önbellek arka ucunu kullanacak şekilde yapılandırılabilir, çoğu önbellek arka uçları bunları nasıl yapılandıracağınızla ilgili belgelerle birlikte gelir ve istediğiniz gibi birleştirebilirsiniz.
Berdir

2

Her web sunucusunda yerel olarak memcache sunucuları ve Vernik ile benzer bir kurulum çalıştırıyorum. Vernik ile yerel olarak önbelleğe almanın sayfaların memcache kullanmak kadar etkili olmayacağını düşündüm.

Ben de çalışan var ve aynı zamanda paylaşılan bir kaynak olduğu için bir şey için MongoDB kullanmayı düşünüyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.