
Hallo Leute, ich kämpfe momentan mit einer extrem hohen Squid-Belastung, kennt das jemand von Euch? Das tritt vor allem zu Stoßzeiten auf. Hier kurz die ersten paar Zeilen von "top" (2 CPUs): top - 22:21:24 up 19 days, 5:42, 2 users, load average: 0.64, 1.05, 1.12 Tasks: 118 total, 2 running, 115 sleeping, 0 stopped, 1 zombie Cpu(s): 13.9% user, 43.4% system, 0.0% nice, 42.7% idle Mem: 1032028k total, 996408k used, 35620k free, 178292k buffers Swap: 1052216k total, 27488k used, 1024728k free, 470884k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 14937 squid 25 0 24912 24m 1676 R 99.9 2.4 12262:28 squid 30995 root 16 0 848 848 660 S 6.6 0.1 39:08.79 nacctd 7094 root 16 0 996 996 744 R 1.6 0.1 0:01.69 top 14938 squid 15 0 296 296 248 S 0.3 0.0 62:39.83 unlinkd 16038 named 15 0 15088 14m 2140 S 0.3 1.5 10:50.22 named 1 root 15 0 256 256 220 S 0.0 0.0 1:02.04 init 2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration_CPU0 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration_CPU1 4 root 15 0 0 0 0 S 0.0 0.0 0:00.10 keventd 5 root 34 19 0 0 0 S 0.0 0.0 0:17.71 ksoftirqd_CPU0 6 root 34 19 0 0 0 S 0.0 0.0 0:41.62 ksoftirqd_CPU1 7 root 16 0 0 0 0 S 0.0 0.0 5:27.60 kswapd 8 root 25 0 0 0 0 S 0.0 0.0 0:00.00 bdflush 9 root 15 0 0 0 0 S 0.0 0.0 44:18.12 kupdated 10 root 15 0 0 0 0 S 0.0 0.0 0:00.18 kinoded 11 root 25 0 0 0 0 S 0.0 0.0 0:00.00 mdrecoveryd 17 root 22 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0 19 root 15 0 0 0 0 S 0.0 0.0 5:33.90 kreiserfsd 1372 root 18 0 0 0 0 S 0.0 0.0 0:00.00 khubd Fakt ist, dass dieser Server einiges an Traffic hat. Squid wird momentan hauptsächlich zur Kontrolle der Zugriffsrechte eingesetzt. Würde es helfen, den Cache von squid auf 0 zu reduzieren? Wenn dadurch die Datenmenge etwas steigt, ist das eigentlich egal, da sowieso nur ein kleiner Teil der Anfragen aus dem Cache beantwortet werden kann. Wo kann ich einen "non-caching-squid" konfigurieren? Wie gesagt, es ist eine 2-Prozessor-Maschine (2 x 3 GHz) und läuft unter SuSE 9.0 mit Kernel "2.4.21-291-smp4G". Speicherbelegung: # free total used free shared buffers cached Mem: 1032028 1003160 28868 0 178212 482164 -/+ buffers/cache: 342784 689244 Swap: 1052216 27488 1024728 (Die Buffers habe ich vor kurzem mal ungefähr verdoppeln müssen) Sollte ich den Speicher aufrüsten? Habt ihr andere Ideen, wie ich die Belastung verringern kann? Danke im voraus für eure Hilfe, Günther

Hallo, On 2/23/2006 10:32 PM, Günther Zisham wrote:
Nö.
Das tritt vor allem zu Stoßzeiten auf.
Dann heisst das wohl dass es tatsächlich ein Problem ist. Wobei ich unterstelle dass Stosszeiten die Stosszeiten der Web-Zugriffe meint.
Hier kurz die ersten paar Zeilen von "top" (2 CPUs):
top - 22:21:24 up 19 days, 5:42, 2 users, load average: 0.64, 1.05, 1.12
Finde ich nicht extrem hoch.
Tasks: 118 total, 2 running, 115 sleeping, 0 stopped, 1 zombie Cpu(s): 13.9% user, 43.4% system, 0.0% nice, 42.7% idle
Auch hier - nicht extrem hoch. Allerdings hohe system-Zeit. Hast Du mal mit vmstat geprüft was da so an I/O oder gar *graus* swapping läuft?
Einfach mal die Konfigurationsdatei durchgehen, die ist ausführlich dokumentiert. Sollte man als Squid-Admin sowieso kennen :-) Im übrigen erlaubt Squid auch ganz gut das Performance-Monitoring. Pers SNMP + selbstgebautes Script + Nagios + NagiosGrapher kann man da auch über die Zeit hinweg einiges loggen. Ich beobachte bei "meinem" geringst-belasteten Squid z.B. lediglich Cache-Hit-Rate, CPU-Nutzung, Clients, Cachegröße und Objektzahl, aber da ist noch viel mehr möglich. Damit würde ich anfangen, einfach um zu sehen ob bestimmte Engpasse damit schon zu identifizieren sind. Ansonsten kann es helfen den Disk-Cache nicht viel größer als den Speicher-Cache zu machen, so dass Squid weniger mit Disk-I/O zu kämpfen hat. Mehr Arbeitsspeicher für Squid kann natürlich auch helfen, hier kann man bei kurzer Cache-Lebensdauer und Beobachtung der Cachegröße relativ gut rauskriegen was tatsächlich sinnvoll ist. Im Übrigen müsste man das tatsächliche Zugriffsprofil kennen um konkrete Tips zu geben, das access-log von Squid hilft auch da. Z.B. kann es sehr gut sein dass in der Mittagspause all 500 Mitarbeiter gleichzeitig www.spiegel.de lesen wollen - dann eben reichlich Cache aktivieren und im Laufe des Vormittags schon mal 'nen Crawler dahinschicken ;-)
Warum? Wegen Squid? Das schiene mir nicht soooo sinnvoll - Squid braucht RAM, Platte ist nur die Notlösung.
Sollte ich den Speicher aufrüsten?
Habt ihr andere Ideen, wie ich die Belastung verringern kann?
Ich würde, wie gesagt, erstmal genauer anlysieren. Dann ggf. probieren was mit mehr oder weniger RAM und Plattencache für Squid passiert. Schlimmstenfalls und wenn der Squid tatsächlich richtig Traffic abfangen kann eben mehrere Proxies aufsetzen, aber das ist dann ein Rechenspiel für die Buchhalter.
Danke im voraus für eure Hilfe, Günther
Arno -- IT-Service Lehmann al@its-lehmann.de Arno Lehmann http://www.its-lehmann.de

[...]
Ich finde es ziemlich interessant, dass da noch ne Menge Speicher scheinbar ungenutzt ist und schon Swap-Speicher benutzt wird. Das könnte durchaus schon Probleme verursachen. Um wieviele Clients handelt es sich denn eigentlich? Ich hab aus diesem Artikel auch viel gelernt: http://www.devshed.com/c/a/Administration/High-Performance-Web-Caching-With-... Ich habe einen transparenten Proxy für ca. 600 User auf einem Celeron 2,6 und der nutzt max. 60% CPU.... evtl. könnte auch die neue Option "--with-maxfd=N" Option ab Squid 2.5Stable11 schon etwas bewirken.... Mfg, Thomas

Hallo, ich denke Du hast da ein Problem mit der Konzeption Deiner Hardware Erklärung s.u. Am Donnerstag 23 Februar 2006 22:32 schrieb Günther Zisham:
Die Load ist für eine DP nicht wirklich hoch
der squid braucht alleine quasi eine CPU auf
was heißt einiges??? einer meiner Kindleins kommt in Spitzenzeiten auf ca. 100-150.000 Zugriffe pro sec., das hebt ihn nicht sonderlich an ;)) - 2x1,6er Athlon, - 1,5GB RAM - System 2x 4GB SCSI (R1) - LOG 4x 2GB SCSI (2 Kanal RAID SCSI - R0 (2x2)) + 1x 9GB LOG-Archiv - Cache 12x 9GB (4 Kanal SCSI U160 128MB Cache 4x3 _kein RAID!_)
Squid wird momentan hauptsächlich zur Kontrolle der Zugriffsrechte eingesetzt. Würde es helfen, den Cache von squid auf 0 zu reduzieren?
Wie komliziert sind die Regeln? ggf. auch da nach Optimierungen suchen ---> das spart Zeit!!! 1. Treffer gewinnt! wenn die Regel, die am häufigsten zutrifft, als letzte steht, muß er alle anderen vorher durchkauen, das kostet dann unnütz (wertvolle) Zeit und Rechenleistung!
Der Squid allein profitiert nicht sonderlich von mehreren CPU's. es hängt aber momentan haupsächlich an der System-Zeit, was mich irgendwelche Probleme mit der Hardware vermuten läßt. Wie sind die Platten konfiguriert? CACHE - Plate(n) LOG - Platte(n) Denke bitte an das Loggen der Zugriffe!!! Da werden - jenachdem was alles geloggt wird - unheimlich viele Schreibzugriffe auf die Logfiles fällig, wenn die auf der/den selben Platten wie die Caches liegen krachts im Gebälk ;)
unspektakulär
wenn noch nicht getan: - nicht wirklich jeden Müll loggen, auf wichtiges konzentrieren! - Caches auf mehrere separate Platten verteilen (Platten mit geringen Zugriffszeiten wählen) - Cache-Platten möglichst an separaten Controllern/Kanälen - z.B. diskd einsetzen um die Cache-Zugriffe in eigenständige Prozesse zu verlagern - auf den Caches entsprechend Platz lassen, um ihm mehr Zeit zum Aufräumen zu lassen - eigene _SCHNELLE!!_ LOG-Platte(n)! MfG Mirko -- +--[ Mirko Richter (RHCE) ]------------------------+ | Networks & Communicationsystems | | Ernst-Thaelmann-Str. 5, D-06774 Soellichau | | E-MAIL: mrichterBEInacmr.de www.nacmr.de | | Tel. +49/(0)34243/3369-50 \\\\ | | Fax. +49/(0)34243/3369-22/-28 (O O) | +-----------------------------------oOOo-(_)-oOOo--+ ps: mails an lists@nacmr.de landen im EDV-Müll ;) Meine Auktionen bei hood.de: http://www.hood.de/auktionen.cfm?accountID=474535

Hi, On Fri, 24 Feb 2006, Mirko Richter wrote:
sieht für mich auch so aus ;)
Und damit sollte der erste Blick Richtung Hardware fallen. SCSI oder IDE? Wenn letzteres, dann bitte mit DMA ;)
Squid wird momentan hauptsächlich zur Kontrolle der Zugriffsrechte eingesetzt. Würde es helfen, den Cache von squid auf 0 zu reduzieren?
wenn du wirklich nur Zugriffskontrolle haben willst ist squid evtl. etwas overkill. Schau mal z.B. tinyproxy an, ob dir sowas reicht. Greetings Daniel -- Gestern stand ich am Abgrund, heute bin ich einen Schritt weiter!

Hallo, On 2/23/2006 10:32 PM, Günther Zisham wrote:
Nö.
Das tritt vor allem zu Stoßzeiten auf.
Dann heisst das wohl dass es tatsächlich ein Problem ist. Wobei ich unterstelle dass Stosszeiten die Stosszeiten der Web-Zugriffe meint.
Hier kurz die ersten paar Zeilen von "top" (2 CPUs):
top - 22:21:24 up 19 days, 5:42, 2 users, load average: 0.64, 1.05, 1.12
Finde ich nicht extrem hoch.
Tasks: 118 total, 2 running, 115 sleeping, 0 stopped, 1 zombie Cpu(s): 13.9% user, 43.4% system, 0.0% nice, 42.7% idle
Auch hier - nicht extrem hoch. Allerdings hohe system-Zeit. Hast Du mal mit vmstat geprüft was da so an I/O oder gar *graus* swapping läuft?
Einfach mal die Konfigurationsdatei durchgehen, die ist ausführlich dokumentiert. Sollte man als Squid-Admin sowieso kennen :-) Im übrigen erlaubt Squid auch ganz gut das Performance-Monitoring. Pers SNMP + selbstgebautes Script + Nagios + NagiosGrapher kann man da auch über die Zeit hinweg einiges loggen. Ich beobachte bei "meinem" geringst-belasteten Squid z.B. lediglich Cache-Hit-Rate, CPU-Nutzung, Clients, Cachegröße und Objektzahl, aber da ist noch viel mehr möglich. Damit würde ich anfangen, einfach um zu sehen ob bestimmte Engpasse damit schon zu identifizieren sind. Ansonsten kann es helfen den Disk-Cache nicht viel größer als den Speicher-Cache zu machen, so dass Squid weniger mit Disk-I/O zu kämpfen hat. Mehr Arbeitsspeicher für Squid kann natürlich auch helfen, hier kann man bei kurzer Cache-Lebensdauer und Beobachtung der Cachegröße relativ gut rauskriegen was tatsächlich sinnvoll ist. Im Übrigen müsste man das tatsächliche Zugriffsprofil kennen um konkrete Tips zu geben, das access-log von Squid hilft auch da. Z.B. kann es sehr gut sein dass in der Mittagspause all 500 Mitarbeiter gleichzeitig www.spiegel.de lesen wollen - dann eben reichlich Cache aktivieren und im Laufe des Vormittags schon mal 'nen Crawler dahinschicken ;-)
Warum? Wegen Squid? Das schiene mir nicht soooo sinnvoll - Squid braucht RAM, Platte ist nur die Notlösung.
Sollte ich den Speicher aufrüsten?
Habt ihr andere Ideen, wie ich die Belastung verringern kann?
Ich würde, wie gesagt, erstmal genauer anlysieren. Dann ggf. probieren was mit mehr oder weniger RAM und Plattencache für Squid passiert. Schlimmstenfalls und wenn der Squid tatsächlich richtig Traffic abfangen kann eben mehrere Proxies aufsetzen, aber das ist dann ein Rechenspiel für die Buchhalter.
Danke im voraus für eure Hilfe, Günther
Arno -- IT-Service Lehmann al@its-lehmann.de Arno Lehmann http://www.its-lehmann.de

[...]
Ich finde es ziemlich interessant, dass da noch ne Menge Speicher scheinbar ungenutzt ist und schon Swap-Speicher benutzt wird. Das könnte durchaus schon Probleme verursachen. Um wieviele Clients handelt es sich denn eigentlich? Ich hab aus diesem Artikel auch viel gelernt: http://www.devshed.com/c/a/Administration/High-Performance-Web-Caching-With-... Ich habe einen transparenten Proxy für ca. 600 User auf einem Celeron 2,6 und der nutzt max. 60% CPU.... evtl. könnte auch die neue Option "--with-maxfd=N" Option ab Squid 2.5Stable11 schon etwas bewirken.... Mfg, Thomas

Hallo, ich denke Du hast da ein Problem mit der Konzeption Deiner Hardware Erklärung s.u. Am Donnerstag 23 Februar 2006 22:32 schrieb Günther Zisham:
Die Load ist für eine DP nicht wirklich hoch
der squid braucht alleine quasi eine CPU auf
was heißt einiges??? einer meiner Kindleins kommt in Spitzenzeiten auf ca. 100-150.000 Zugriffe pro sec., das hebt ihn nicht sonderlich an ;)) - 2x1,6er Athlon, - 1,5GB RAM - System 2x 4GB SCSI (R1) - LOG 4x 2GB SCSI (2 Kanal RAID SCSI - R0 (2x2)) + 1x 9GB LOG-Archiv - Cache 12x 9GB (4 Kanal SCSI U160 128MB Cache 4x3 _kein RAID!_)
Squid wird momentan hauptsächlich zur Kontrolle der Zugriffsrechte eingesetzt. Würde es helfen, den Cache von squid auf 0 zu reduzieren?
Wie komliziert sind die Regeln? ggf. auch da nach Optimierungen suchen ---> das spart Zeit!!! 1. Treffer gewinnt! wenn die Regel, die am häufigsten zutrifft, als letzte steht, muß er alle anderen vorher durchkauen, das kostet dann unnütz (wertvolle) Zeit und Rechenleistung!
Der Squid allein profitiert nicht sonderlich von mehreren CPU's. es hängt aber momentan haupsächlich an der System-Zeit, was mich irgendwelche Probleme mit der Hardware vermuten läßt. Wie sind die Platten konfiguriert? CACHE - Plate(n) LOG - Platte(n) Denke bitte an das Loggen der Zugriffe!!! Da werden - jenachdem was alles geloggt wird - unheimlich viele Schreibzugriffe auf die Logfiles fällig, wenn die auf der/den selben Platten wie die Caches liegen krachts im Gebälk ;)
unspektakulär
wenn noch nicht getan: - nicht wirklich jeden Müll loggen, auf wichtiges konzentrieren! - Caches auf mehrere separate Platten verteilen (Platten mit geringen Zugriffszeiten wählen) - Cache-Platten möglichst an separaten Controllern/Kanälen - z.B. diskd einsetzen um die Cache-Zugriffe in eigenständige Prozesse zu verlagern - auf den Caches entsprechend Platz lassen, um ihm mehr Zeit zum Aufräumen zu lassen - eigene _SCHNELLE!!_ LOG-Platte(n)! MfG Mirko -- +--[ Mirko Richter (RHCE) ]------------------------+ | Networks & Communicationsystems | | Ernst-Thaelmann-Str. 5, D-06774 Soellichau | | E-MAIL: mrichterBEInacmr.de www.nacmr.de | | Tel. +49/(0)34243/3369-50 \\\\ | | Fax. +49/(0)34243/3369-22/-28 (O O) | +-----------------------------------oOOo-(_)-oOOo--+ ps: mails an lists@nacmr.de landen im EDV-Müll ;) Meine Auktionen bei hood.de: http://www.hood.de/auktionen.cfm?accountID=474535

Hi, On Fri, 24 Feb 2006, Mirko Richter wrote:
sieht für mich auch so aus ;)
Und damit sollte der erste Blick Richtung Hardware fallen. SCSI oder IDE? Wenn letzteres, dann bitte mit DMA ;)
Squid wird momentan hauptsächlich zur Kontrolle der Zugriffsrechte eingesetzt. Würde es helfen, den Cache von squid auf 0 zu reduzieren?
wenn du wirklich nur Zugriffskontrolle haben willst ist squid evtl. etwas overkill. Schau mal z.B. tinyproxy an, ob dir sowas reicht. Greetings Daniel -- Gestern stand ich am Abgrund, heute bin ich einen Schritt weiter!
participants (6)
-
Arno Lehmann
-
Daniel Lord
-
Günther Zisham
-
Mirko Richter
-
Patrick Marc Preuss
-
Thomas Gräber