現在のページでキャッシュが機能していることを確認するにはどうすればよいですか?


9

一部のモジュールは、特定のページのキャッシュをサイレントにオフにします。これが事実であることを確認し、問題のあるモジュールを特定する最も簡単な方法はどれですか。


ブーストキャッシュを使用するのは簡単です。ページの下部にHTMLコメントがあります。他のキャッシュでは、少し興味深いです。
Mołot

@Mołot私は主に標準のDrupalキャッシュに興味がありますが、他のキャッシュへの指示もありがたいです。
user11153 2013

回答:


13

最も簡単な方法は、おそらくHTTP応答ヘッダーを検査することです。

たとえば、ブラウザのDOMインスペクタツール(例:Chromeの[ネットワーク]タブ

キャッシュミス

次に、キャッシュミスを示すdrupal.orgのサンプルレスポンスヘッダーを示します。この場合、Varnishを使用しますが、コアのDrupalキャッシュも同様のヘッダーを設定します。

キャッシュミスhttpヘッダー

キャッシュヒット

以下は、標準のDrupalキャッシュヒットを示すものです。

キャッシュヒットHTTPヘッダー


しかし、Drupal.orgはVarnishの背後にありますね。Drupalに直接アクセスしたX-Cacheヘッダーが表示されません。または、テストしているページがキャッシュ可能だった場合はどうなりますか?
Mołot

@MołotログアウトするとVarnishヘッダーが表示されます。
Letharion 2013

私のDrupal 7サイトでは実際にヘッダーX-Drupal-Cache: HITが表示されますが、Drupal 6サイトでは何も表示されません。それはリバースプロキシによって取り除かれる可能性がありますか?
user11153 2013

@ user11153はい、D6はX-Drupal-Cache HTTPヘッダーをそこに設定していないようです。しかし、D7はそうする_drupal_bootstrap_page_cache
デビッド・トーマス

@DavidThomasでは、Drupal 6でキャッシュステータスを確認するにはどうすればよいでしょうか。代替案はありますか?D7への指示に感謝します。
user11153 2013

0

Drupal 6のデフォルトキャッシュにキャッシュヘッダーを追加する

悲しいことに、それはいくつかのコアハッキングを伴います。

ファイルのincludes/bootstrap.inc変更行

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

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

残りの指示は、Davidの回答とまったく同じです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.