Vorheriges Thema: NASR-ApplianceNächstes Thema: Überwachungs-Appliances


SQUID - SQUID-Proxy

Aktuelle Version: 3.0.2-1

SQUID: Proxy-Server

Auf einen Blick

Katalog

System

Kategorie

Sonstiges Appliances

Benutzer-Volumes

ja

Min. Speicher

96M

Betriebssystem

Linux

Einschränkungen

no

Fragen/Kommentare

Im Forum fragen

Funktionsübersicht

SQUID ist eine Caching-Forward oder -Reverse-Proxy-Appliance. SQUID fungiert als Agent und nimmt HTTP-Anfragen von Clients auf seinem Eingabe-Terminal entgegen und leitet sie an den entsprechenden Server weiter, der mit dem Ausgabe-Terminal verbunden ist. Es speichert eine Kopie der zurückgegebenen Daten in einem Speicher und in einem On-Disk-Cache. Wenn die gleichen Daten mehrmals angefordert werden, werden zwischengespeicherte Daten an den Client zurückgegeben, wodurch der Zugriff beschleunigt und die Auslastung des Quellservers reduziert wird.

SQUID unterstützt zwei Betriebsarten: Proxy- und Webbeschleuniger.

Proxy-Modus

Im Proxy-Modus fungiert SQUID als Caching-Forward-Proxy und wird normalerweise zwischen einem oder mehreren Clients und dem Internet installiert. Es bewahrt lokale Kopien von häufig angeforderten Daten auf und gibt ggf. zwischengespeicherten Inhalt zurück, wodurch Serviceanfragen beschleunigt und die Upstream-Bandbreite verringert werden können.

Webbeschleuniger-Modus

Im Webbeschleuniger-Modus fungiert SQUID als Caching-Reverse-Proxy und wird normalerweise vor einem oder mehreren Webservern installiert. Der gesamte, für den/die Webserver bestimmte Datenverkehr passiert SQUID. SQUID bewahrt lokale Kopien von häufig angeforderten Daten auf und gibt ggf. zwischengespeicherten Inhalt zurück, wodurch die Antwortzeit verkürzt und die Auslastung der Backend-Server verringert werden kann.

Ressourcen

Ressource

Minimum

Maximum

Standard

Getestet

CPU

0.05

2

0.2

2

Speicher

96 MB

4 GB

256 MB

4 GB

Bandbreite

1 Mbit/s

2 Gbit/s

250 Mbit/s

1,5 Gbit/s

Speicheranfragen für SQUID

Der für SQUID benötigte Speicher hängt von der Cache-Volumegröße und der Anzahl von gleichzeitigen Anfragen ab. SQUID verwendet bis zu 10 MB Speicher für das Indizieren von 1 GB Cache-Speicher. Bei Verwendung von 100 GB Cache-Speicher sind also zusätzlich 1 GB Speicher erforderlich. Ein bestimmter Anteil des Speichers wird außerdem für die Bereitstellung der jeweiligen Verbindung verwendet. SQUID verwendet bis zu 20 MB Speicher, um 1000 gleichzeitige Verbindungen bereitzustellen. Wenn also 5000 gleichzeitige Verbindungen erwartet werden, dann sollte der SQUID-Speicher auf 100 MB erhöht werden.

Wichtig! Wenn nicht genug Speicher verfügbar ist, funktioniert SQUID unter Umsänden nicht mehr.

Terminals

Name

Richtung

Protokoll

Beschreibung

in

in

HTTP

Akzeptiert eingehende Anfragen.

out

out

HTTP

Sendet Datenverkehr an die Zieladresse und erhält die Antworten.

log

out

CIFS

Zugriff auf ein CIFS-basiertes Netzwerkdateisystem für die Speicherung von Protokollen. Der verbundene Server muss anonyme Anmeldungen zulassen und über eine benannte Freigabe mit Lese-/Schreibzugriff verfügen. Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird.

mon

out

CCE

Sendet Leistungs- und Ressourcenverwendungsstatistik. Dieses Terminal kann ohne Verbindung bleiben, wenn es nicht verwendet wird.

Benutzer-Volumes

Name

Beschreibung

cache

Volume für Cache-Dateispeicherung. Dieses Volume ist obligatorisch. Die minimale Größe des Cache-Volumes ist 100 MB.

Hinweise:

Allgemeine Eigenschaften

Name

Typ

description

mode

Zeichenfolge

Betriebsmodus. Zulässige Werte sind proxy oder web_accelerator.
proxy - SQUID arbeitet im Proxy-Modus und fungiert als Caching-Foward-Proxy.
web_accelerator - SQUID arbeitet im Web-Accelerator-Modus und fungiert als Caching-Reverse-Proxy.
Standard: web_accelerator

listen_port

Int.

Port, an dem Anfragen von internen Clients in Proxy-Modus oder von externen Website-Benutzern im web_accelerator-Modus eingehen.
Standard: 80

hostname

Zeichenfolge

In Fehlermeldungen zu verwendender Hostname.
Standard: localhost

connect_timeout

Int.

Die Zeitdauer in Sekunden, während der SQUID auf die TCP-Verbindung zum angeforderten Server wartet. Wenn der Zeitraum überschritten wird, antwortet SQUID mit einer Fehlermeldung wie "Zeitüberschreitung bei Verbindung" an den Client.
Standard: 30

Protokollierungseigenschaften

Name

Typ

description

log_enable

Zeichenfolge

Aktivieren oder Deaktivieren des Zugriffsprotokolls.
Standard: no

log_filename

Zeichenfolge

Dateiname für das Zugriffsprotokoll bezogen auf das Dateisystem, auf das vom Protokoll-Terminal aus zugegriffen werden kann. Dateiname kann einen Pfad einschließen, zum Beispiel führt der Wert access.log dazu, dass die Protokolldatei /mnt/log/access.log ist, während ein Wert von /proxy_logs/squid1_access.log dazu führt, dass die Protokolldatei /mnt/log/proxy_logs/squid1_access.log ist.
Standard: access.log

log_format

Zeichenfolge

Format des Zugriffsprotokolls.
native - Verwenden des nativen SQUID-Protokollierungsformats.
httpd - Verwendung des httpd-Protokollierungsformat.
Standard: native

Benutzerdefinierte Zähler

Die SQUID-Appliance meldet die folgenden benutzerdefinierten Zähler durch das mon-Terminal.

SNMP-Zählername

Zählername

Description

SQUID-MIB::cacheSysVMsize

SysVMsize

Speicher-Cachegröße in KB.

SQUID-MIB::cacheSysStorage

SysStorage

Festplatten-Cachegröße in KB.

SQUID-MIB::cacheUptime

Uptime

SQUID-Betriebszeit in Timeticks (1/100stel Sekunde).

SQUID-MIB::cacheSysPageFaults

SysPageFaults

Seitenfehler mit physischer E/A.

SQUID-MIB::cacheSysNumReads

SysNumReads

HTTP-E/A-Anzahl von Lesevorgängen.

SQUID-MIB::cacheMemUsage

MemUsage

Von SQUID verwendeter Speicher in KB.

SQUID-MIB::cacheCpuTime

CpuTime

Anzahl an verbrauchten CPU-Sekunden.

SQUID-MIB::cacheCpuUsage

CpuUsage

Die prozentuale Verwendung der CPU.

SQUID-MIB::cacheMaxResSize

MaxResSize

Maximaler residenter Speicher in KB.

SQUID-MIB::cacheNumObjCount

NumObjCount

Anzahl von im Cache gespeicherten Objekten.

SQUID-MIB::cacheCurrentUnlinkRequests

CurrentUnlinkRequests

An unlinkd übergebene Anfragen.

SQUID-MIB::cacheCurrentUnusedFDescrCnt

CurrentUnusedFDescrCnt

Verfügbare Anzahl von Dateideskriptoren.

SQUID-MIB::cacheCurrentResFileDescrCnt

CurrentResFileDescrCnt

Reservierte Anzahl an Dateideskriptoren.

SQUID-MIB::cacheCurrentFileDescrCnt

CurrentFileDescrCnt

Anzahl von verwendeten Dateideskriptoren.

SQUID-MIB::cacheCurrentFileDescrMax

CurrentFileDescrMax

Maximale Anzahl an verwendeten Dateideskriptoren.

SQUID-MIB::cacheProtoClientHttpRequests

ProtoClientHttpRequests

Anzahl an erhaltenen HTTP-Anfragen.

SQUID-MIB::cacheHttpHits

HttpHits

Anzahl an Cache-HTTP-Hits.

SQUID-MIB::cacheHttpErrors

HttpErrors

Anzahl an Cache-HTTP-Fehlern.

SQUID-MIB::cacheHttpInKb

HttpInKb

Empfangener HTTP-Datenverkehr in KB.

SQUID-MIB::cacheHttpOutKb

HttpOutKb

Gesendeter HTTP-Datenverkehr in KB.

SQUID-MIB::cacheServerRequests

ServerRequests

Anzahl an Anfragen vom Client für den Cache-Server.

SQUID-MIB::cacheServerErrors

ServerErrors

Alle Fehler des Cache-Servers von Clientanfragen.

SQUID-MIB::cacheServerInKb

ServerInKb

Eingehender Datenverkehr von Servern in KB.

SQUID-MIB::cacheServerOutKb

ServerOutKb

Ausgehender Datenverkehr an Server in KB.

SQUID-MIB::cacheClients

Clients

Anzahl von Clients, die auf den Cache zugreifen.

SQUID-MIB::cacheHttpAllSvcTime.1

HttpAllSvcTime1

CPU-Zeit in Sekunden, die zur Verarbeitung von HTTP-Anfragen (in der letzten Minute) aufgewendet wurde.

SQUID-MIB::cacheHttpAllSvcTime.5

HttpAllSvcTime5

CPU-Zeit in Sekunden, die zur Verarbeitung von HTTP-Anfragen (in den letzten 5 Minuten) aufgewendet wurde.

SQUID-MIB::cacheHttpAllSvcTime.60

HttpAllSvcTime60

CPU-Zeit in Sekunden, die zur Verarbeitung von HTTP-Anfragen (in den letzten 60 Minuten) aufgewendet wurde.

SQUID-MIB::cacheHttpMissSvcTime.1

HttpMissSvcTime1

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Misses (in der letzten Minute) aufgewendet wurde.

SQUID-MIB::cacheHttpMissSvcTime.5

HttpMissSvcTime5

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Misses (in den letzten 5 Minuten) aufgewendet wurde.

SQUID-MIB::cacheHttpMissSvcTime.60

HttpMissSvcTime60

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Misses (in den letzten 60 Minuten) aufgewendet wurde.

SQUID-MIB::cacheHttpNmSvcTime.1

HttpNmSvcTime1

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (nicht veränderter Inhalt) (in der letzten Minute) aufgewendet wurde.

SQUID-MIB::cacheHttpNmSvcTime.5

HttpNmSvcTime5

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (nicht veränderter Inhalt) (in den letzten 5 Minuten) aufgewendet wurde.

SQUID-MIB::cacheHttpNmSvcTime.60

HttpNmSvcTime60

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (nicht veränderter Inhalt) (in den letzten 60 Minuten) aufgewendet wurde.

SQUID-MIB::cacheHttpHitSvcTime.1

HttpHitSvcTime1

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (in der letzten Minute) aufgewendet wurde.

SQUID-MIB::cacheHttpHitSvcTime.5

HttpHitSvcTime5

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (in den letzten 5 Minuten) aufgewendet wurde.

SQUID-MIB::cacheHttpHitSvcTime.60

HttpHitSvcTime60

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (in den letzten 60 Minuten) aufgewendet wurde.

SQUID-MIB::cacheDnsSvcTime.1

DnsSvcTime1

CPU-Zeit in Sekunden, die zur Verarbeitung von DNS-Anfragen (in der letzten Minute) aufgewendet wurde.

SQUID-MIB::cacheDnsSvcTime.5

DnsSvcTime5

CPU-Zeit in Sekunden, die zur Verarbeitung von DNS-Anfragen (in den letzten 5 Minuten) aufgewendet wurde.

SQUID-MIB::cacheDnsSvcTime.60

DnsSvcTime60

CPU-Zeit in Sekunden, die zur Verarbeitung von DNS-Anfragen (in den letzten 5 Minuten) aufgewendet wurde.

SQUID-MIB::cacheRequestHitRatio.1

RequestHitRatio1

Anfrage/Treffer-Verhältnis in Prozent (für die letzte Minute) auf einer Skala von 0-100.

SQUID-MIB::cacheRequestHitRatio.5

RequestHitRatio5

Anfrage/Treffer-Verhältnis in Prozent (für 5 Minuten) auf einer Skala von 0-100.

SQUID-MIB::cacheRequestHitRatio.60

RequestHitRatio60

Anfrage/Treffer-Verhältnis in Prozent (für die letzten 60 Minuten) auf einer Skala von 0-100.

SQUID-MIB::cacheRequestByteRatio.1

RequestByteRatio1

Byte/Treffer-Verhältnis in Prozent (für die letzte Minute) auf einer Skala von 0-100.

SQUID-MIB::cacheRequestByteRatio.5

RequestByteRatio5

Byte/Treffer-Verhältnis in Prozent (für die letzten 5 Minuten) auf einer Skala von 0-100.

SQUID-MIB::cacheRequestByteRatio.60

RequestByteRatio60

Byte/Treffer-Verhältnis in Prozent (für die letzten 60 Minuten) auf einer Skala von 0-100.

SQUID-MIB::cacheHttpNhSvcTime.1

HttpNhSvcTime1

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (Inhaltsaktualisierung) (in der letzten Minute) aufgewendet wurde.

SQUID-MIB::cacheHttpNhSvcTime.5

HttpNhSvcTime5

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (Inhaltsaktualisierung) (in den letzten 5 Minuten) aufgewendet wurde.

SQUID-MIB::cacheHttpNhSvcTime.60

HttpNhSvcTime60

CPU-Zeit in Sekunden, die zur Verarbeitung von Cache-Hits (Inhaltsaktualisierung) (in den letzten 60 Minuten) aufgewendet wurde.

SQUID-MIB::cacheIpEntries

IpEntries

IP-Cache-Einträge.

SQUID-MIB::cacheIpRequests

IpRequests

Anzahl von IP-Cache-Anfragen.

SQUID-MIB::cacheIpHits

IpHits

Anzahl von IP-Cache-Hits.

SQUID-MIB::cacheIpPendingHits

IpPendingHits

Anzahl von ausstehenden IP-Cache-Hits.

SQUID-MIB::cacheIpNegativeHits

IpNegativeHits

Anzahl von negativen IP-Cache-Hits.

SQUID-MIB::cacheIpMisses

IpMisses

Anzahl von IP-Cache-Misses.

SQUID-MIB::cacheBlockingGetHostByName

BlockingGetHostByName

Anzahl von blockierenden gethostbyname-Anfragen.

SQUID-MIB::cacheAttemptReleaseLckEntries

AttemptReleaseLckEntries

Anzahl an Versuchen, gesperrte IP-Cache-Einträge freizugeben.

SQUID-MIB::cacheFqdnEntries

FqdnEntries

FQDN-Cache-Einträge.

SQUID-MIB::cacheFqdnRequests

FqdnRequests

Anzahl an FQDN-Cache-Anfragen.

SQUID-MIB::cacheFqdnHits

FqdnHits

Anzahl an FQDN-Cache-Hits.

SQUID-MIB::cacheFqdnPendingHits

FqdnPendingHits

Anzahl von ausstehenden FQDN-Cache-Hits.

SQUID-MIB::cacheFqdnNegativeHits

FqdnNegativeHits

Anzahl von negativen FQDN-Cache-Hits.

SQUID-MIB::cacheFqdnMisses

FqdnMisses

Anzahl von FQDN-Cache-Misses.

SQUID-MIB::cacheBlockingGetHostByAddr

BlockingGetHostByAddr

Anzahl von blockierenden gethostbyaddr-Anfragen.

SQUID-MIB::cacheDnsRequests

DnsRequests

Anzahl von externen dnsserver-Anfragen.

SQUID-MIB::cacheDnsReplies

DnsReplies

Anzahl von externen dnsserver-Antworten.

SQUID-MIB::cacheDnsNumberServers

DnsNumberServers

Anzahl von externen dnsserver-Prozessen.

SQUID-MIB::cachePeerRtt

PeerRtt

Letzte bekannte Roundtrip-Zeit zum Peer (in ms).

Fehlermeldungen

Im Fall von Appliance-Startfehlern können die folgenden Fehler im Systemprotokoll protokolliert werden:

Fehlermeldung

Description

Auf das Cache-Volume kann nicht zugegriffen werden.

Die Appliance kann nicht auf das Cache-Volume zugreifen, möglicherweise aufgrund eines beschädigten Dateisystems.

Das Zugriffs-Protokoll ist aktiviert, aber das Protokoll-Terminal ist nicht verbunden.

Das Protokoll-Terminal ist nicht verbunden, aber log_enable ist auf "yes" festgelegt.

squid kann nicht ausgeführt werden.

Appliance kann nicht starten. Möglicher Grund ist ein Fehler in der benutzerdefinierten Konfiguration.

Leistung

Die Tabelle enthält unten Benchmarkergebnisse, in Anfragen pro Sekunde (rps) angegeben, die mit deaktivierter Protokollierung erhalten wurden. die SQUID-Leistung kann sich verschlechtern, wenn die Protokollierung aktiviert wird. Benchmarks wurden mithilfe des Apache Benchmark-Hilfsprogramms generiert, das im Lieferumfang der Apache-Webserver-Version 2.0 und 2.2 enthalten ist. Weitere Informationen über Apache Benchmark finden Sie auf der Apache-Website. Benchmark-Tests wurden mithilfe der folgenden Einstellungen ausgeführt: bw=500M mem=2G cpu=2.

Cache-TREFFER

Gleichzeitigkeit

rps

1 Client-Gleichzeitigkeit

1500-1800 rps

10 Client-Gleichzeitigkeit

5800-6200 rps

100 Client-Gleichzeitigkeit

7400-7800 rps

500 Client-Gleichzeitigkeit

5300-5500 rps

1000 Client-Gleichzeitigkeit

5300-5500 rps

Cache-FEHLER

Gleichzeitigkeit

rps

1 Client-Gleichzeitigkeit

700-800 rps

10 Client-Gleichzeitigkeit

2000-2200 rps

100 Client-Gleichzeitigkeit

1900-2100 rps

500 Client-Gleichzeitigkeit

1800-2000 rps

1000 Client-Gleichzeitigkeit

1600-1800 rps

Web-Accelerator-Modus

SQUID wird verwendet, um die Last auf einem AppServer zu reduzieren, indem alle statischen Dokumente bereitgstellt werden. Hinweis: Wenn Java-Anwendungen den Expires:-HTTP-Header für generierte Dokumente festlegt, verarbeitet SQUID diese während der Lebensdauer.

Verwendete Appliances:

Beispiel-Eigenschaftskonfiguration:

Eigenschaftsname

Wert

Hinweise

mode

web_accelerator

SQUID arbeitet im Web-Accelerator-Modus und fungiert als Caching-Reverse-Proxy.

listen_port

80

Standardport für HTTP-Anfragen.

hostname

www.host.com

Hostname, der in Fehlermeldungen verwendet wird

Web-Accelerator-Modus: Anwendung mit vielen Webservern

SQUID wird verwendet, um viele Webserver zu beschleunigen. In diesem Beispiel verteilt eine URLSW-Appliance Anfragen an verschiedene Webserver nach URL. Verwendete Appliances:

Beispiel-Eigenschaftskonfiguration für SQUID:

Eigenschaftsname

Wert

Hinweise

mode

web_accelerator

SQUID arbeitet im Web-Accelerator-Modus und fungiert als Caching-Reverse-Proxy.

listen_port

80

Standardport für HTTP-Anfragen.

hostname

www.host1.com

Hostname, der in Fehlermeldungen verwendet wird

Schalter-Konfiguration:

Eigenschaftsname

Wert

Hinweise

out1_type

hostname

out1_value

host1.com

Anfragen für host1.com werden von server1 bereitgestellt

out2_type

hostname

out2_value

host2.com

Anfragen für host2.com werden von server2 bereitgestellt

out3_type

hostname

out3_value

host3.com

Anfragen für host3.com werden von server3 bereitgestellt

out4_type

hostname

out4_value

host4.com

Anfragen für host4.com werden von server4 bereitgestellt

Proxy-Modus

Für inhaltsverarbeitende Aufgaben kann SQUID das Fangen doppelter Anfragen beschleunigen und die Last auf Ziel-Webservern und die Bandbreitenauslastung reduzieren. Wenn in diesem Beispiel Inhalt aus dem Internet, wie eine Webseite, ein PDF-Dokument oder ein Bild, bereits von crawler1 angefordert wurde, erhalten andere Crawler zwischengespeicherte Ergebnisse für den gleichen Inhalt.

Verwendete Appliances:

Beispiel-Eigenschaftskonfiguration:

Eigenschaftsname

Wert

Hinweise

mode

proxy

SQUID arbeitet im Proxy-Modus und fungiert als Caching-Foward-Proxy.

listen_port

3128

Port, an dem SQUID auf HTTP-Anfragen wartet.

hostname

proxy.enterprise.local

Hostname, der in Fehlermeldungen verwendet wird

Hinweise

In der Appliance verwendete Open-Source- und Drittanbieter-Software

SQUID verwendet zusätzlich zu den Drittanbieter-Open-Source-Paketen der jeweiligen Basisklasse LUX6 die folgenden Drittanbieter-Open-Source-Pakete.

Software

Version

Geändert

Lizenz

Hinweise

net-snmp

5.5-41.el6_3.1

Nein

BSD

N/A

net-snmp-libs

5.5-41.el6_3.1

Nein

BSD

N/A

net-snmp-utils

5.5-41.el6_3.1

Nein

BSD

N/A

samba-client

3.5.10-125

Nein

GPLv2

N/A

samba-common

3.5.10-125

Nein

GPLv2

N/A

libsmbclient

3.5.10-125

Nein

GPLv2

N/A

squid

3.1.10-9.el6_3

Nein

GPLv2

N/A

lm_sensors

3.1.1-10

Nein

GPLv2

N/A

dmidecode

2.11-2

Nein

GPLv2

N/A

perl-DBI

1.609-4

Nein

GPLv2

N/A