czwartek, grudnia 18, 2008

Witajcie w naszej bajce. Ostatnio rozgryzam drobny problemik w sieci. Uściślając squid. Przy pracy wiekszej ilości komputerów które korzystają ze squida w logach (cache.log) zaczął pojawiać się komunikat:

 WARNING! Your cache is running out of filedescriptors

Oznacza to, że zbyt mało mamy filedescriptorów. A co to takiego? To po prostu numer reprezentujący otware gniazdo lub plik. Za każdym razem kiedy proces otwiera któres z nich, dodaje nowy deskryptor. Kiedy pliki lub sockety zostają zamknięte deskryptory mogą zostć użyte ponownie . Są dwa rodzaje limitów - per proces oraz per system, nam chodzi o ten pierwszy rodzaj limitów.
Rozwiązaniem które poprawia działanie squida w tej sytuacji jest dokonanie w niektórych miejscach wpisów odnoszących się do wielkości deskryptorów. Mianowicie

Fedora:

Zatrzymujemy Squida

/etc/init.d/squid stop

Edytujemy plik squid.conf

vi /etc/squid/squid.conf

dopisujemy

max_filedesc 2048

Następnie edytujemy

vi /etc/init.d/squid

Dopisujemy od razu po komentarzach wpis:
ulimit -HSn 4096
Zapisujemy i starrujemy Squida

/etc/init.d/squid start


W Debianie / Ubuntu

Dopisujemy w /etc/defaults/squid następującą linię

SQUID_MAXFD=4096

i restartujemy squida

/etc/init.d/squid restart
Done.
Tym sposobem dwukrotnie powiększylismy liczbę deskryptorów dla stacji około 200 -300 powinno wystarczyc. Poza tym dzis byla mala awaria, ale to juz historia na inny dzien ;)



1 komentarz:

Anonimowy pisze...

Nice fill someone in on and this enter helped me alot in my college assignement. Thank you as your information.