Làm thế nào để kiểm tra bộ đệm đang hoạt động trên trang hiện tại?


9

Một số mô-đun âm thầm tắt bộ nhớ đệm trên các trang nhất định. Làm thế nào là cách dễ nhất để kiểm tra xem đây là trường hợp và cũng xác định mô-đun có vấn đề?


Với Boost cache thật đơn giản, có một bình luận html ở cuối trang. với các bộ nhớ cache khác, nó thú vị hơn một chút.
Mołot

@ Mołot Tôi chủ yếu quan tâm đến bộ đệm Drupal tiêu chuẩn, nhưng hướng dẫn về các bộ đệm khác cũng được đánh giá cao.
dùng11153

Câu trả lời:


13

Cách dễ nhất có lẽ là kiểm tra các tiêu đề phản hồi HTTP.

Ví dụ: với công cụ kiểm tra DOM trình duyệt của bạn (ví dụ: tab "Mạng" của Chrome )

Hoa hậu bộ nhớ cache

Dưới đây là một số tiêu đề phản hồi mẫu từ drupal.org hiển thị lỗi bộ nhớ cache. Trong trường hợp này, sử dụng Varnish tuy nhiên bộ đệm Drupal lõi cũng đặt các tiêu đề tương tự.

bộ nhớ cache bỏ lỡ tiêu đề http

Bộ nhớ cache

Đây là một hiển thị một bộ nhớ cache Drupal tiêu chuẩn:

bộ nhớ cache đạt tiêu đề http


Nhưng Drupal.org đứng sau Varnish, phải không? Tôi không thể thấy các tiêu đề X-Cache trên Drupal của mình được truy cập trực tiếp. Hoặc tôi sẽ làm gì nếu trang tôi đang kiểm tra nó có thể được lưu trong bộ nhớ cache?
Mołot

@ Mołot Tôi có thể thấy các tiêu đề Varnish nếu tôi đăng xuất.
Letharion

Đối với trang web Drupal 7 của tôi, tôi thực sự thấy tiêu đề X-Drupal-Cache: HITnhưng trên trang web Drupal 6 của tôi, tôi không thấy gì cả. Nó có thể bị tước bởi proxy ngược?
dùng11153

@ user11153 có, D6 không xuất hiện để đặt tiêu đề HTTP X-Drupal-Cache ở đó. Tuy nhiên, D7 làm như vậy trong_drupal_bootstrap_page_cache
David Thomas

@DavidThomas Vậy kiểm tra trạng thái bộ đệm trong Drupal 6 là gì? Có sự thay thế nào không? Và cảm ơn đã hướng dẫn cho D7.
dùng11153

0

Thêm tiêu đề bộ đệm vào bộ đệm mặc định Drupal 6

Đáng buồn thay, nó liên quan đến một số hack cốt lõi.

Trong includes/bootstrap.incdòng thay đổi tập tin từ

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

đến

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

và phần còn lại của hướng dẫn chính xác như trong câu trả lời của David .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.