PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Squid3 cached nicht wie erwartet?



blubbersuelze
09.10.14, 02:10
Hallo zusammen,

ich habe unter Debian7 (Wheezy) einen Squid3 am laufen,
er funktioniert soweit auch jedoch scheint er herunter geladene Objekte nicht aus dem Cache zu holen,
oder er gibt diese nur mit Internetgeschwindigkeit (~1,5MB/s) weiter.
Das ist besonders bei großen Dateien ärgerlich, v.a. da ich hier überall Gigabit Netzwerk liegen habe.

Beispiel:
Ich lade das aktuelle Iso-Image von Debian herunter ~ 800kB/s.
Nun warte ich eine Minute und lade es vom gleichen Rechner noch einmal, sprich ich nutze den gleichen Link
und statt der erwarteten Netzwerkgeschwindigkeit habe ich wieder ~800kB/s.

Vielleicht weiß ja jemand was ich an in der squid.conf anpassen muss das das wie erwartet funktioniert.

squid.conf:


cache_mem 2048 MB
cache_swap_low 90
cache_swap_high 95
#cache_dir pfad_des_cache <Cachegrösse in MB> <Verzeichnisse> <Unterverzeichnisse>
cache_dir diskd /PROXYCACHE 8000 16 256

error_directory /usr/share/squid3/errors/de-de

minimum_object_size 0 MB
maximum_object_size 1536 MB
request_body_max_size 0MB

ipcache_size 1024
ipcache_low 90
ipcache_high 95

quick_abort_min 0KB
quick_abort_max 0KB
quick_abort_pct 100

negative_ttl 2 second
negative_dns_ttl 2 second
positive_dns_ttl 240 hours
range_offset_limit 0 KB

fqdncache_size 16384
maximum_object_size_in_memory 4096 KB

cache_replacement_policy heap LFUDA
memory_replacement_policy heap LRU

emulate_httpd_log off
log_fqdn off
client_db off

log_icp_queries off
buffered_logs on
half_closed_clients off

coredump_dir /PROXYCACHE
pipeline_prefetch on
offline_mode off

reload_into_ims on
#30 -> 30 Min
#120 -> 1 Stunde
#1440 -> 1 Tag
#4320 -> 3 Tage
#10080 -> 7 Tage
#43200 -> 30 Tage
refresh_pattern -i ^ftp: 1440 20% 10080 reload-into-ims
refresh_pattern -i .(gif|png|jp?g|ico|bmp|tiff?)$ 10080 95% 43200 override-expire override-lastmod reload-into-ims refresh-ims ignore-no-cache ignore-private
refresh_pattern -i .(rpm|cab|deb|exe|msi|msu|zip|tar|xz|bz|bz2|lzma|g z|tgz|rar|bin|7z|doc?|xls?|ppt?|nth|psd|sis)$ 10080 90% 43200 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private
refresh_pattern -i .(avi|iso|wav|mid|mp?|mpeg|mov|3gp|wm?|swf|flv|x-flv|axd)$ 43200 95% 432000 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private

vary_ignore_expire on
memory_pools on
max_filedescriptors 65536
retry_on_error on

via off
httpd_suppress_version_string on
visible_hostname router.at.home
ftp_user user@mypc.workgroup
ftp_passive on

http_port 192.168.1.1:8080 transparent

access_log /dev/null
cache_log /dev/null
cache_store_log none
logfile_rotate 2

forwarded_for off
pid_filename /var/run/squid3.pid
dns_nameservers 127.0.0.1
hosts_file none

follow_x_forwarded_for deny all

acl NETZWERK src 192.168.1.0/24
acl to_NETZWERK dst 192.168.1.0/24
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl manager proto cache_object
acl CONNECT method CONNECT

cache deny to_NETZWERK

http_access allow manager localhost
http_access allow localhost
http_access allow NETZWERK
http_access deny all

acl apache rep_header Server ^Apacheacl apache rep_header Server ^Apache
acl QUERY urlpath_regex -i cgi-bin .php$ .asp$ .shtml$ .cfm$ .cfml$ .phtml$ .php3$ localhost
cache deny QUERY



danke für alle Tips und Tricks :-)

mfg.
blubbersuelze :p

Hauwech
15.10.14, 01:42
Der WebServer, der die Dateien sendet, kann bestimmen, wie lange, und ob, das gecached werden darf.

Das kannst Du aber umgehen.

http://goo.gl/7d9Dfs

Les Dir mal alles durch, bei weiteren Fragen hier posten, ich beobachte den Thread....

marce
15.10.14, 07:30
Der Link ist nicht wirklich Dein Ernst, oder?

blubbersuelze
16.10.14, 00:20
@marce
das dachte ich mir auch gerade

@Hauwech
was soll das?
und ja der Webserver kann das bestimmen, aber Squid(und andere Proxyserver bestimmt auch) kann das aushebeln ...
bevor du in Zukunft etwas von dir gibst sei bitte so nett und überlege dir ob du selbst so eine Antwort auf eine Frage bekommen möchtest!
Alternativ kann ich ja mal in deinem Lieblingsrestaurant dem Kellner mal empfehlen das wenn das von dir gewollte Essen nicht da ist er dir einfach was anderes bringt,
weil ist ja auch essen ;-)

in diesem Sinne ...

marce
16.10.14, 06:49
Squid ist bei mir schon lange her, aber um mal auf's Problem einzugehen
* ist im Squid-Cache die heruntergeladene Datei vorhanden (sollte ja anhand der Größe des Verzeichnisses zu erkennen sein, falls die Dinger da nicht Plain rumliegen)?
* ist die URL wirklich die gleiche? Gerade bei Download von Images wird ja gerne mal ein CDN verwendet und da mag es sein, daß die URL zwar "nach vorne hin" gleich aussieht, intern (sie's über DNS oder irgendwelche Redirects) aber auf was anderes zugegriffen wird und der Proxy damit evtl. durcheinander kommt?
* tut der Squid an sich bei kleineren Dateien wie gewünscht?

ansonsten bleibt mir nur noch der Standardtip von Logfiles, Logfiles und nochmals Logfiles :-)

blubbersuelze
16.10.14, 20:35
bei Bildern scheint das zu klappen,
werde wohl nochmal die Logfiles in Verbindung mit dem Cache selbst auseinander nehmen müssen

werde mich melden wenn ich neues weiß

blubbersuelze
16.10.14, 23:53
So ich habe es noch einmal getestet.
Habe den Proxycache komplett gelöscht und neu erstellt.
Anschließend http://cdimage.debian.org/debian-cd/7.6.0/amd64/iso-cd/debian-7.6.0-amd64-netinst.iso heruntergeladen.
Es ist mit ca 500kB/s heruntergeladen worden.

Laut Cache_store_logging.log ist es gecachet worden und ich habe die Datei auch im Proxycache gefunden.
Bei erneutem herunterladen von der gleichen URL kam die Datei anfangs mit ca 5MB/s an, sank aber dann auf ca 1MB/s bis der Download abgeschlossen wurde.

Die Datei kam wohl aus dem Cache, jedoch für meinen Geschmack viel zu langsam.
Der Server hat 4 Kerne, 16GB RAM und ist weit entfernt von ausgelastet.
Zwischen Proxyserver und Client ist eine Fullduplex Gigabit Netzwerk vorhanden,
von daher hätte ich etwas in annähernd Netzwerkgeschwindigkeit erwartet wenn eine Datei aus dem Cache kommt,
gerade bei so großen Brocken wo das so richtig merkbar wäre.

Vlt. weiß jemand etwas um das gewollte zu erreichen.

mfg.
blubbersuelze :p

blubbersuelze
17.10.14, 00:48
Habe es gefunden!
Für alle mit dem gleichen Problem:


cache_dir diskd /PROXYCACHE 8000 16 256

diskd durch ufs oder aufs ersetzen, es ist die selbe Storagetype Methode, aber diskd ist massiv langsam.

Nach dem ändern habe ich besagtes Image ca. 90MB/s aus dem Proxycache bekommen.

So macht dann surfen und downloaden wieder Spaß ;-)

mfg.
blubbersuelze

Hauwech
17.10.14, 21:06
@Hauwech
was soll das?
und ja der Webserver kann das bestimmen, aber Squid(und andere Proxyserver bestimmt auch) kann das aushebeln ...
bevor du in Zukunft etwas von dir gibst sei bitte so nett und überlege dir ob du selbst so eine Antwort auf eine Frage bekommen möchtest!
Alternativ kann ich ja mal in deinem Lieblingsrestaurant dem Kellner mal empfehlen das wenn das von dir gewollte Essen nicht da ist er dir einfach was anderes bringt,
weil ist ja auch essen ;-)


Selbstverstaendlich war das mein Ernst. Um mit den Worten des Kritiker zu kontern: Polipo liefert nicht nur altes Essen aus, es schaut auch regelmaessig nach, ob es was neues zu Knabbern gibt.

Wollt nur helfen, sry, vergesst es. Polipo ist alles andere als ein Caching-Offline-Proxy. Da fehlt es wohl an wissen....

marce
17.10.14, 21:40
Ich würde mal so sagen:
- ein lmgtfy-Link in dem Zusammenhang würde ich als "Frechheit" interpretieren
- Es geht konkret um Squid. Da ist es leider ein wenig am Thema vorbei, ein beliebiges anderes Alternativprodukt in den Raum zu werfen - vor allem, wenn der Rest des Postings ein wenig am Problem vorbei geht.
- ...

Hauwech
18.10.14, 00:10
Ich würde mal so sagen:
- ein lmgtfy-Link in dem Zusammenhang würde ich als "Frechheit" interpretieren
- Es geht konkret um Squid. Da ist es leider ein wenig am Thema vorbei, ein beliebiges anderes Alternativprodukt in den Raum zu werfen - vor allem, wenn der Rest des Postings ein wenig am Problem vorbei geht.
- ...

Yep, sry, das es nicht 100% korrekt war, eine Alternative anzubieten.
und, Yep, sry, lmgtfy ist nicht immer so gemeint, wie "google doch mal" - evtl. wolle ich damit einiges an Querlinks anbieten?

--

Ist die Linux Gemeinde schon so "eingefahren" --- besser - "festgefahren" ? ---


War mein letzter Beitrag in diesem Posting.

marce
18.10.14, 09:43
Es ist ok, eine Alternative aufzuzeigen. Aber das sollte, für mein Empfinden, auf eine andere Art und Weise geschehen. Wobei sich alternative Produkte bei einer sehr produktspezfischen Frage als Antwort meist nicht so sehr eignen.

Google-Links (und damit verbunden mehrere Suchergebnisse) sind auch durchaus ok - aber bitte dann offen und nicht hinter einem normalerweise als "Hey, wie doof kann man sein, nicht mal auf die Idee zu kommen"-Link versteckt.