Sziasztok!
Miért lassulhat le a squid-om? Van benne egy reklámszűrés én erre gyanakszom és egy idő korlát.
squid.conf (részlet)
connect_timeout 10 seconds
peer_connect_timeout 5 seconds
acl muhely src 192.168.1.4
acl munkaidobenTilos dstdomain "/etc/squid/munkaidoben.txt"
acl munkaido time 8:00-16:00
acl reklamok dstdomain "/etc/squid/ad_block.txt"
http_access deny reklamok all
http_access deny munkaido munkaidobenTilos muhely
http_access allow all
Az ad-block.txt 42 Kb
A munkaidoben.txt 1,8 Kb
Lehet, hogy túl sok az adat benne? (2542 sor)
Esetleg kilehet tenni ezeket az adatok mysql táblába?
Előre is köszi a tanácsokat!
- 1670 megtekintés
Hozzászólások
A SQUID-nél az első kérdés vakon mindig ilyesmi szokott lenni: memória? merevlemez bírja (sebesség)?
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
bírja, bírja.
Most üzemeltem be gey hete, korábban nem üzemelt proxy.
- A hozzászóláshoz be kell jelentkezni
A helyedben máshol keresném a problémát, mert ezek azért nem olyan rettentő bonyolultságú szabályok, még csak delay pool sincs, meg más nagyon erőforrászabáló történet sem látszik.
Tényleg vagy diszk/memória paraméterezési probléma, vagy gyenge vasbeli képességek gyanúsabbak...
Apropó, nem írod, milyen OS, de felkészítetted a hálózati stack-et a terhelésre? Értsd: nem fogysz ki pl a TCP portokból?
Meg amíg nem írsz felhasználószámot és átlagos/csúcsterhelés-t req/s-ben, addig tényleg nagyon nehéz bármit mondani...
- A hozzászóláshoz be kell jelentkezni
Debian Etch.
1GB mem. SATA 750 Gb HDD. 4 felhasználót szűr.
mosaic:/proc# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 75
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 4600+
stepping : 2
cpu MHz : 2410.985
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy ts fid vid ttp tm stc
bogomips : 4826.46
clflush size : 64
A szerver terhelése 1-2% között mozog.
mosaic:/etc/squid# cat squid.conf
# WELCOME TO SQUID 2.6.STABLE5
# ----------------------------
# NETWORK OPTIONS
# -----------------------------------------------------------------------------
http_port 3128 transparent
# icp_port 3130
# OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
# -----------------------------------------------------------------------------
acl QUERY urlpath_regex cgi-bin \?
acl helyi_halozat dst 192.168.1.0/24
cache deny QUERY helyi_halozat
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
# OPTIONS WHICH AFFECT THE CACHE SIZE
# -----------------------------------------------------------------------------
cache_mem 256 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 4096 KB
minimum_object_size 128 KB
maximum_object_size_in_memory 8 KB
fqdncache_size 1024
# LOGFILE PATHNAMES AND CACHE DIRECTORIES
# -----------------------------------------------------------------------------
cache_dir ufs /var/spool/squid 1024 128 512
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
log_mime_hdrs on
log_fqdn on
hosts_file /etc/hosts
# TIMEOUTS
# -----------------------------------------------------------------------------
connect_timeout 10 seconds
peer_connect_timeout 5 seconds
# ACCESS CONTROLS
# -----------------------------------------------------------------------------
#Recommended minimum configuration:
acl all src 192.168.1.0/24
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
acl muhely src 192.168.1.4
acl munkaidobenTilos dstdomain "/etc/squid/munkaidoben.txt"
acl munkaido time 8:00-16:00
acl reklamok dstdomain "/etc/squid/ad_block.txt"
http_access deny reklamok all
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Only allow purge requests from localhost
http_access allow purge localhost
http_access deny purge
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny munkaido munkaidobenTilos muhely
http_access allow all
http_reply_access allow all
icp_access allow all
# ADMINISTRATIVE PARAMETERS
# -----------------------------------------------------------------------------
cache_mgr admin@mosaic.molnarnet
cache_effective_user proxy
cache_effective_group proxy
visible_hostname mosaic.molnarnet
# MISCELLANEOUS
# -----------------------------------------------------------------------------
icon_directory /usr/share/squid/icons
short_icon_urls on
error_directory /usr/share/squid/errors/Hungarian
# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)
# -----------------------------------------------------------------------------
coredump_dir /var/spool/squid
- A hozzászóláshoz be kell jelentkezni
Ez eleddig egész pofás. Mondjuk lehet, hogy célszerűbb adblock céllal nem dstdomain-re szűrni, hanem "url_regex -i" -re. De ez csak 5let, kicsit hatékonyabb szűréseket tesz lehetővé, és nem kell teljes site-okat kitiltani.
Másrészt amúgy is adblock-ra inkább dansguardian a squid alá, és egyedi üres tartalmak kiszolgálása a reklámok helyén.
Ami egyrészt gáz a konfigban, az a "log_mime_hdrs on". Elég bőbeszédű, és tökéletesen fölösleges. Elég sok erőforrást is igényelhet.
Belekötnék még a cache_dir sorodba, feleslegesen sok könyvtárral dolgozol. Legyen inkább 32, 128, és még az is bőven az igényeid fölött van...
Amit megnéznék, mennyi interrupt-ot kell kezelnie a gépednek, nem lehet-e a hálókártyát inkább polling módban használni, plusz a kerneled hálózati konfigját lehetne tuningolni, bár ugye nem tudjuk, hogy áll.
Alap sysctl-ek ilyen esetben:
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.ip_local_port_range = 1024 65100
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 262144 262144 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.ipv4.tcp_sack=0
net.ipv4.tcp_dsack=0
net.ipv4.tcp_window_scaling=0
net.ipv4.tcp_ecn=0
net.ipv4.tcp_max_syn_backlog=4096
fs.file-max = 524288
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
kernel.threads-max = 65536
kernel.pid_max = 65535
Ha nagyon vágyod, fűzök magyarázatot, bár alapvetően RTFM... :) Elsősorban nyilván a hálózati limitek érdekesek, illetve a fájlleírók maximális száma.
Belassuláskor mi a jelenség? Magas load? Esetleg swapin/swapout?
- A hozzászóláshoz be kell jelentkezni
Ha a böngészett oldal küld egy kérést egy olyan címre ami szerepel az ad_block.txt-ben akkor szokott várakozni a böngésző jó 10 mp-t.
Pl: index.hu
elkezdi betölteni a böngésző majd írja az alsó sávban a Firefox, hogy várakozása a következőre: adocean.pl. és ez az url persze szerepel a tiltó listán. Így várakozik egy darabig azt tölti tovább az oldalt.
Ha direkt beírom, hogy adocean.pl akkor egy szempillantás alatt kivágja, hogy a squid letiltotta az oldalt.
Egyéb config tanácsod megfogadom. mime és lemez kezelés :)
- A hozzászóláshoz be kell jelentkezni
Aha. Ilyenkor felteszem, sok kérés jut egy időben a hivatkozott, amúgy tiltott oldalra (egy nyamvadt ndx.hu főoldalon van akár 25-40 gemius.pl, vagy sher.*.hu is, amit a böngésző mondjuk 10-esével tápol be a proxy-nak).
Megpróbálkozhatsz ilyenkor egy dns_children emeléssel, vagy az url_regex-szel.
Figyelj oda, hogy a cache_dir változtatáshoz törölnöd kell az előző cache_dir tartalmat leállított squid mellett, majd squid -Z kell az új könyvtárszerkezet létrehozásához.
- A hozzászóláshoz be kell jelentkezni
Senkinek sincs 5lete?
- A hozzászóláshoz be kell jelentkezni
Nincs más hátra mint előre. Kiveszed a gyanús acl-eket, hogy tényleg azok vannak-e rontó hatással a squid egészségére.
Mondjuk nekem legutóbb dns probléma miatt volt lassú a netem, és elég nehezen vettem észre, hogy.
- A hozzászóláshoz be kell jelentkezni