Önbelleğin geçerli sayfada çalışıp çalışmadığını nasıl kontrol edebilirim?


9

Bazı modüller, belirli sayfalardaki önbelleği sessizce kapatır. Durumun bu olup olmadığını kontrol etmenin ve sorunlu modülü tanımlamanın en kolay yolu nasıl?


Boost önbellek ile basit, sayfanın alt kısmında bir html yorumu var. diğer önbelleklerle biraz daha ilginç.
Mołot

@ Mołot Öncelikle standart Drupal önbellekle ilgileniyorum, ancak diğer önbelleklere yönelik talimatlar da takdir ediliyor.
user11153

Yanıtlar:


13

En kolay yol muhtemelen HTTP yanıt başlıklarını incelemektir.

Örneğin, tarayıcınızın DOM denetçi aracıyla (ör. Chrome'un "Ağ" sekmesi )

Önbellek Kaçır

Drupal.org'dan önbellek kaçışını gösteren bazı örnek yanıt başlıkları. Bu durumda, Varnish kullanarak çekirdek Drupal önbellek de benzer başlıklar ayarlar.

önbellek özledim http üstbilgisi

Önbellek İsabeti

İşte standart bir Drupal önbellek isabetini gösteren:

önbellek isabet http başlığı


Ama Drupal.org Vernik'in arkasında, değil mi? Drupal'ımdaki X-Cache başlıklarına doğrudan erişildiğini göremiyorum. Ya da test ettiğim sayfa önbelleğe alınabilseydi?
Mołot

@ Mołot Oturumu kapatırsam Vernik başlıklarını görebilirim.
Letharion

Drupal 7 sitem için gerçekten başlık görüyorum X-Drupal-Cache: HITama Drupal 6 sitemde hiçbir şey göremiyorum. Ters proxy tarafından soyulmuş olabilir?
user11153

@ user11153 evet, D6, X-Drupal-Cache HTTP üstbilgisini ayarlamış gibi görünmüyor. Ancak D7 bunu yapıyor_drupal_bootstrap_page_cache
David Thomas

@DavidThomas Peki Drupal 6'da önbellek durumunu kontrol eden nedir? Alternatif var mı? Ve D7 talimatları için teşekkürler.
user11153

0

Drupal 6 varsayılan önbelleğine önbellek üstbilgileri ekleme

Ne yazık ki, bazı çekirdek hack'leri içeriyor.

Dosyada includes/bootstrap.incsatır değiştir

      // If there is a cached page, display it.
      if ($cache) {
        drupal_page_cache_header($cache);
        // If the skipping of the bootstrap hooks is not enforced, call hook_exit.
        if ($cache_mode != CACHE_AGGRESSIVE) {
          bootstrap_invoke_all('exit');
        }
        // We are done.
        exit;
      }
      // Prepare for non-cached page workflow.
      drupal_page_header();
      break;

için

      // If there is a cached page, display it.
      if ($cache) {
        header('X-Drupal-Cache: HIT');
        drupal_page_cache_header($cache);
        // If the skipping of the bootstrap hooks is not enforced, call hook_exit.
        if ($cache_mode != CACHE_AGGRESSIVE) {
          bootstrap_invoke_all('exit');
        }
        // We are done.
        exit;
      }
      // Prepare for non-cached page workflow.
      header('X-Drupal-Cache: MISS');
      drupal_page_header();
      break;

ve talimatların geri kalanı tam olarak David'in cevabındaki gibi .

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.