Jak sprawdzić, czy pamięć podręczna działa na bieżącej stronie?
9
Niektóre moduły cicho wyłączają buforowanie na niektórych stronach. Jak najłatwiej sprawdzić, czy tak jest, a także zidentyfikować problematyczny moduł?
Dzięki pamięci podręcznej Boost jest to proste, na dole strony znajduje się komentarz HTML. z innymi skrzynkami jest to trochę bardziej interesujące.
Mołot
@ Mołot Interesuje mnie przede wszystkim standardowa pamięć podręczna Drupal, ale instrukcje dla innych pamięci podręcznych również są mile widziane.
user11153,
Odpowiedzi:
13
Najłatwiejszym sposobem jest sprawdzenie nagłówków odpowiedzi HTTP.
Na przykład za pomocą narzędzia inspektora DOM przeglądarki (np. Karta „Sieć” Chrome )
Cache Miss
Oto kilka przykładowych nagłówków odpowiedzi z drupal.org pokazujących brak pamięci podręcznej. W tym przypadku, używając Varnish, podstawowa pamięć podręczna Drupal również ustawia podobne nagłówki.
Hit Cache
Oto jeden ze standardowych trafień w pamięci podręcznej Drupal:
Ale Drupal.org stoi za Varnish, prawda? Nie widzę bezpośredniego dostępu do nagłówków X-Cache na moim Drupal. Czy zrobiłbym to, gdyby strona, na której testuję, była buforowalna?
Mołot
@ Mołot Widzę nagłówki Varnish, jeśli się wylogowałem.
Letharion
W mojej witrynie Drupal 7 rzeczywiście widzę nagłówek, X-Drupal-Cache: HITale na mojej stronie Drupal 6 nic nie widzę. Można go usunąć przez odwrotne proxy?
user11153,
@ user11153 tak, D6 nie wydaje się tam ustawiać nagłówka HTTP X-Drupal-Cache. Jednak D7 robi to w_drupal_bootstrap_page_cache
David Thomas
@DavidThomas Więc co sprawdzić status pamięci podręcznej w Drupal 6? Czy są jakieś alternatywy? I dzięki za instrukcje do D7.
user11153,
0
Dodanie nagłówków pamięci podręcznej do domyślnej pamięci podręcznej Drupal 6
Niestety wiąże się to z hakowaniem rdzenia.
W includes/bootstrap.inclinii zmiany pliku od
// 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;
do
// 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;
Odpowiedzi:
Najłatwiejszym sposobem jest sprawdzenie nagłówków odpowiedzi HTTP.
Na przykład za pomocą narzędzia inspektora DOM przeglądarki (np. Karta „Sieć” Chrome )
Cache Miss
Oto kilka przykładowych nagłówków odpowiedzi z drupal.org pokazujących brak pamięci podręcznej. W tym przypadku, używając Varnish, podstawowa pamięć podręczna Drupal również ustawia podobne nagłówki.
Hit Cache
Oto jeden ze standardowych trafień w pamięci podręcznej Drupal:
źródło
X-Drupal-Cache: HIT
ale na mojej stronie Drupal 6 nic nie widzę. Można go usunąć przez odwrotne proxy?_drupal_bootstrap_page_cache
Dodanie nagłówków pamięci podręcznej do domyślnej pamięci podręcznej Drupal 6
Niestety wiąże się to z hakowaniem rdzenia.
W
includes/bootstrap.inc
linii zmiany pliku oddo
a reszta instrukcji jest dokładnie taka, jak w odpowiedzi Dawida .
źródło