Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Panowie i Panie , bardzo proszę o pomoc
Sytuacja jest serwer np Debian 6 + apache , co jakieś 15 sekund klient łączy się ze stroną www i pobiera sobie mały pliczek ... po połączeniu zostaje TIME_WAIT , przy setkach klientów zaczyna sie problem - jak temu zaradzić czy można jakoś sensownie skrócić czas utrzymywanie się połączeń zamykanych ... bawię się sysctl na OpenBSD ale zaczynam wątpić w swoją wiedzę może na Debianei da się uzyskać taki efekt
Offline
Hehe... to chyba siedzi w jądrze. Parametr czasu ewikcji takich wiszących socket'ów. Zainteresuj się też ulimit'ami (na ilość deskryptorów == socket'ów). A problem TIME_WAIT jest stary jak świat.
Offline
Cześć pornostar. A co z opcją /proc/sys/net/ipv4/tcp_fin_timeout, która domyślnie jest ustawiona na 60 (Squeeze 6.0.6)? Określa czas, który musi upłynąć, zanim TCP/IP może zamknąć połączenie. Wydaje się, że odpowiednim rozwiązaniem, jest ustawienie tej opcji na wartość np. 30. a nawet 15., jeśli aplikacja działa i wymaga szybkiego uwolnienia, tworzenia nowych połączeń, a występuje niska przepustowość, ze względu na wiele połączeń w stanie TIME_WAIT. Oczywiście mogę się mylić, ale było to pierwszą rzeczą jaka wpadła mi do głowy po przeczytaniu Twojego postu.
note/edit; kontrolka systemu - sysctl - odpowiedzialna za tą opcję, to: net.ipv4.tcp_fin_timeout.
Ostatnio edytowany przez remi (2012-12-12 21:31:11)
Offline