Ostatnia zmiana: 10:28 09.07.2009
Po instalacji samego squida testujemy go w naszej sieci przez kilka dni. Obserwujemy jak w godzinach szczytu (od 17 do 22) obciąża nam procesor, dyski i pamięć.
Procesor może być maksymalnie obciążony w 20% (dojdzie do tego przezież jeszcze DansGuardian i antywirus, które potrzebują zapasu CPU do obliczeń).
top
Load average pokaże ile średnio procesów czekało w kolejce żądań zasobów procesora, w określonym przedziale czasu (1 minuty, 5 minut i 15 minut). Wartość w okolicach 2 nie powinna być niepokojąca. Przy około 10 jest krytycznie. Uwaga: LA nie bieże pod uwagę czasu jaki procesor spędza na obsłudze przerwań!
w
Ile faktycznie zajmują logi:
du -hs /var/log/squid/
du -hs /var/spool/squid/*
oraz ile jeszcze zostało miejsca na dysku:
df -h
Jeśli miesce się kończy to lepiej zmniejszyć trochę (np o 30%) rozmiar
katalogu dla keszowanych plików cache_dir.
Czasem też dysk jest wąskim gardłem, zobaczmy zatem czas oczekiwania na obsługę przerwania iowait, prędkość odczytu kB_read/s i zapisu kB_wrtn/s na dysk
iostat 10 -k -t
iostat wywolane bez parametrow pokaze Ci średnią wartość od chwili
startu systemu. Tak wiec nawet jak sobie poodczytujesz czy pozapisujesz z duza
predkoscia przez jakisc czas, to w dlugim okresie srednia wartosc bedzie
niska...
Sprobuj np.:
iostat -d 1 -k
ewentualnie iotop
Prędkość swojego dysku możemy wyliczyć:
wyliczyć : ........Podać opis i przykład wyliczenia prędkości dysku
lub wytestować
Sprawdza wydajność czytania bufora pierwszego dysku twardego (-T sprawdza wydajność odczytu keszu)
hdparm -t /dev/hda
iostat -d 1 -m
http_port 3128 port, na którym nasłuchuje Squid
acl moja_siec src 192.168.0.0/24 definiujemy naszą podsiec, której squid udostęni swoje usługi
cache_dir ufs /var/spool/squid 20 4 256
# cache_dir ufs /var/spool/squid IleMiejscaZDysku L1 L2
# na pliki keszowane w katalogu coredump_dir (patrz niżej) wykorzystaj maksymalnie "IleMiejscaZDysku" w MB (tu 20MB)
# L1 - ilość podkatalogów pierwszego poziomu (tu 4 katalogi)
# L2 - ilość podkatalogów drugiego poziomu (tu 256 katalogów)
# Maksymalnie na kesz można dać 20% z całego dostępnego miejsca na dysku.
# Dlaczego? bo do tego dochodza jeszcze dwa pliki logów store.log i access.log z rozmiarami
# równym prawie tyle co katalog keszowanych plikiów. Dochodzą też conajmniej dwa pliki archiwum logów,
# w podobnym rozmiarze. Czyli tu 5* 20MB = 100MB
# tu będą logi
access_log /var/log/squid/access.log squid
# Squid przesyła dane do DG lokalnie z adresem 127.0.0.1. Jeśli chcem w logach DansGuardiana widzieć prawdziwe adresy IP ludzi zamiast adresu 127.0.0.1. Zezwalaj aby prawdziwy adres localhost był podmieniany na podawany przez przeglądarkę.
follow_x_forwarded_for allow localhost
Sprawdzamy czy udało się włączyć x-forwarded:
acl_uses_indirect_client on
delay_pool_uses_indirect_client on
log_uses_indirect_client on
http_access allow moja_siec
http_access allow localhost
http_access deny all
malina:~# tail -f /var/log/squid/access.log
Jeśli nadal mamy localhost zamiast adresów 192.168.0.0, sprawdźmy czy w konfiguracji DG włączyliśmy opcję:
forwardedfor = on
Opcję DG usexforwardedfor wyłączamy
usexforwardedfor = off
Jak tcpdumpem podglądnąć x-forwarded w nagłówku http.
# nazwę hosta
visible_hostname malina
# tu będziemy przechowywać cachowane pliki z neta
coredump_dir /var/spool/squid
# ile mogę max wziąść szybkiej pamięci RAM
# Wielkość zależy nie tylko od wielkości fizycznej RAM ale i wielkości cache_dir:
# cache_mem <= cache_dir więcej ramu nie ma sensu.
cache_mem 64 MB
Aby czasem squid się nie wysypał z braku miejsca na dysku (cache) ustawiamy automatyczne usuwanie. Jak cache dojdzie do 95%, squid automatycznie usunie go do poziomu 90%.
cache_swap_low 90
cache_swap_high 95
www.uke.gov.pl