Wie Sie feststellen können, ob Squid Proxy den Cache korrekt ausführt

12

Ich wollte testen, ob die an einen Squid-Server angeschlossenen Clients tatsächlich die Cache-Daten verwenden, anstatt direkt ins Internet zu gehen und die Daten abzurufen. Ich habe alle Client-Browser so konfiguriert, dass sie den Server: Port vom Squid-Server lesen (10.42.0.1:3128). Woher weiß ich also, ob sie die Informationen aus dem Cache oder dem Internet abrufen?

Ich fragte, da ein schneller "Test" mir die gleiche Geschwindigkeit beim Laden mehrerer Seiten mit vielen Bildern gab. Gleiche Bilder und keine Anzeigen, die sich bei jedem Besuch ändern.

Auf welche Weise kann ich überprüfen, ob sie den Cache verwenden?

Ich habe Folgendes ausgeführt: sudo tail -f /var/log/squid3/access.logund mehrere Zeilen erhalten, die weiter gescrollt haben:

1374553166.136    929 185.168.101.131 TCP_MISS/200 28198 GET http://www.amazon.de/gp/offer-listing/B000NOIW62/ref=sr_1_1_olp? - DIRECT/178.236.7.219 text/html

Sie hatten ein TCP_MISS / 200 und am Ende ein DIRECT wie im obigen Beispiel. Dies geschah, während ich alle Computer im LAN ausgeschaltet hatte. Als ich versuchte, einen zu benutzen, bekam ich folgendes zu tunsudo tail -f /var/log/squid3/access.log | grep HIT

1374553387.488      0 10.42.0.14 TCP_IMS_HIT/304 278 GET http://g-ecx.images-amazon.com/images/G/01/da/creatives/sn130.png - NONE/- image/png

So zeigt es als TCP_IMS_HIT / 304 und am Ende zeigt es eine NONE

Was bedeuten also TCP_MISS, DIRECT, TCP_IMS_HIT und NONE?

Funktioniert der Cache?

Luis Alvarado
quelle

Antworten:

15

Führen Sie in einem Terminal auf dem Server, auf dem squid ausgeführt wird, den Befehl aus

tail -f /var/log/squid3/access.log

Beobachten Sie dann, wie ein Benutzer Webseiten besucht. Wenn viele Zeilen auf dem Bildschirm nach oben scrollen, wenn sie auf etwas klicken, verwenden sie den Proxyserver. Wenn sich die Tintenfisch-Protokolldatei nicht befindet, suchen Sie in / etc / squid nach dem Speicherort der Protokolldatei.

Um den obigen Befehl zu beenden, drücken Sie Strg + C.

Um zu sehen, ob es tatsächlich Dinge zwischenspeichert und nützlich ist, sollte es einige Zeilen geben, die besagen, dass es sich um einen HIT handelt. Eine vollständige Beschreibung des Inhalts der Protokolldatei finden Sie im Squid-Wiki . Beachten Sie, dass Cache-HITs nicht so häufig sind, wie Sie möchten, da der Webbrowser eines einzelnen Benutzers bereits Daten lokal zwischenspeichert. Sie erhalten die meisten Treffer, wenn mehrere Benutzer dieselben Seiten anfordern, bevor diese Informationen aus dem Cache gelöscht werden.

Zum Beispiel, wenn eine E-Mail von allstaff mit der Aufschrift "check this site out ..." verschickt wird.

  • TCP_MISS / 200 bedeutet, dass sich das angeforderte Dokument nicht im Cache befand, es jedoch vom Webserver in Ordnung abgerufen werden konnte. Das Direkt am Ende besagt, dass die Datei vom Webserver abgerufen wurde.
  • TCP_IMS_HIT / 304 bedeutet, dass der Client gefragt hat, ob sich die Datei geändert hat, und Squid das Datum und die Uhrzeit auf dem Webserver überprüft hat und festgestellt hat, dass sie sich nicht geändert haben. Daher hat er dem Client eine Kopie der Datei aus seinem lokalen Cache übergeben.

Also ja, Ihr Tintenfisch wird verwendet und arbeitet als Cache.

BeowulfNode42
quelle
Die Frage wurde aktualisiert, um zu sehen, ob Sie weiterhelfen können.
Luis Alvarado
@ Luis Alvardo hat die Antwort aktualisiert, um weiter zu helfen.
BeowulfNode42