Wie überprüfe ich, ob der Cache auf der aktuellen Seite funktioniert?
9
Einige Module deaktivieren das Caching auf bestimmten Seiten stillschweigend. Wie lässt sich am einfachsten überprüfen, ob dies der Fall ist, und auch problematische Module identifizieren?
Hier sind einige Beispiel-Antwort-Header von drupal.org, die einen Cache-Fehler zeigen. In diesem Fall werden bei Verwendung von Varnish jedoch auch der Kern-Drupal-Cache ähnliche Header gesetzt.
Cache getroffen
Hier ist einer, der einen Standard-Drupal-Cache-Treffer zeigt:
Aber Drupal.org steht hinter Varnish, nicht wahr? Ich kann keine X-Cache-Header auf meinem Drupal sehen, auf die direkt zugegriffen wird. Oder würde ich, wenn die Seite, mit der ich es teste, zwischengespeichert werden könnte?
Mołot
@ Mołot Ich kann die Lack-Header sehen, wenn ich abgemeldet bin.
Letharion
Für meine Drupal 7-Site sehe ich zwar den Header, X-Drupal-Cache: HITaber auf meiner Drupal 6-Site sehe ich nichts. Es könnte durch Reverse Proxy entfernt werden?
user11153
@ user11153 Ja, D6 scheint den X-Drupal-Cache-HTTP-Header dort nicht zu setzen. Jedoch tut D7 dies in_drupal_bootstrap_page_cache
David Thomas
@DavidThomas Was überprüft den Cache-Status in Drupal 6? Gibt es Alternativen? Und danke für die Anleitung zu D7.
user11153
0
Hinzufügen von Cache-Headern zum Drupal 6-Standardcache
Leider geht es um einige Kern-Hacking.
In Datei includes/bootstrap.incändern Zeilen von
// 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;
zu
// 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;
Antworten:
Der einfachste Weg ist wahrscheinlich, die HTTP-Antwortheader zu überprüfen.
Zum Beispiel mit dem DOM-Inspektor-Tool Ihres Browsers (z. B. der Registerkarte "Netzwerk" von Chrome )
Cache Miss
Hier sind einige Beispiel-Antwort-Header von drupal.org, die einen Cache-Fehler zeigen. In diesem Fall werden bei Verwendung von Varnish jedoch auch der Kern-Drupal-Cache ähnliche Header gesetzt.
Cache getroffen
Hier ist einer, der einen Standard-Drupal-Cache-Treffer zeigt:
quelle
X-Drupal-Cache: HIT
aber auf meiner Drupal 6-Site sehe ich nichts. Es könnte durch Reverse Proxy entfernt werden?_drupal_bootstrap_page_cache
Hinzufügen von Cache-Headern zum Drupal 6-Standardcache
Leider geht es um einige Kern-Hacking.
In Datei
includes/bootstrap.inc
ändern Zeilen vonzu
und der Rest der Anweisungen ist genau wie in Davids Antwort .
quelle