Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Lev Walkin                           2:5020/400     29 Jan 2004  18:46:56
 To : Igor Sysoev
 Subject : Re: незакрытые сокеты
 -------------------------------------------------------------------------------- 
 
 
 Igor Sysoev wrote:
 
 > Lev Walkin <vlm@netli.com> wrote:
 > 
 > 
 >>Igor Sysoev wrote:
 >>
 >>>Lev Walkin <vlm@netli.com> wrote:
 >>>
 >>>
 >>>>Slawa Olhovchenkov wrote:
 >>>>
 >>>>
 >>>>>А как можно уменьшить количество болтающихся сокетов в состоянии
 >>>>>TIME_WAIT/FIN_WAIT_2?
 >>>>
 >>>>SO_REUSEADDR использовать в программе.
 >>>>Лучше _после_ accept()'а.
 >>>
 >>>А как SO_REUSEADDR этому поможет ?
 >>
 >>я ждал этого вопроса ;)
 >>
 >>поможет тем, что включает широко известный в узких кругах сайд-эффект.
 >>он заключается в том, что для новых сокетов могут использоваться
 >>закрытые сокеты, сидящие в TIME_WAIT. Обычно они так и сидят в этом
 >>состоянии 2MSL, но при наличии флага SO_REUSEADDR вместо создания
 >>нового сокета ядро может выбрать вариант их реиспользования.
 >>это не значит, что в системе совсем не будет TIME_WAIT, но это количество
 >>имеет достаточно четкую верхнюю границу при известной загрузке.
 >>
 >>почему нужно делать после accept()'а? потому что флаг должен быть на
 >>сокете сидящем в TIME_WAIT, а не в LISTEN, а некоторых других OS
 >>(обладающих тем же сайд-эффектом, впрочем) флаги на listen-сокете
 >>не наследуются на сокеты, получающиеся через accept(). поэтому нужно
 >>либо #ifdef'ить, либо перестраховаться и устанавливать SO_REUSEADDR
 >>всегда после каждого accept()'а.
 > 
 > 
 > А где такое есть ? Поиск по фрёвым листам и lkml на предмет SO_REUSEADDR
 > и TIME_WAIT подобной особенности SO_REUSEADDR не выявил.
 
 фольклор.
 
 (быстрый поиск сейчас дал:
 http://216.239.57.104/search?q=cache:N5QiEJPxqJQJ:members.cox.net/~ndav1/stratas
 phere/server_wont_start.doc+SO_REUSEADDR+TCP+TIME_WAIT&hl=en&ie=UTF-8
 )
 
 > Единственное, в 5.2 в src/sys/netinet/tcp_subr.c rev.1.164 и 1.165 было
 > сделано ограничение, чтобы TIME_WAIT не превышал 20% от всех используемых
 > сокетов.
 
 мне пришлось добавить его в ports/net/ipcad, чтобы он не блокировался при
 частых rsh'ных дерганиях. так что практика - критерий истины.
 
 -- 
 Lev Walkin
 vlm@netli.com
 
 --- ifmail v.2.15dev5.2
  * Origin: Netli, Inc. (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 незакрытые сокеты   Slawa Olhovchenkov   29 Jan 2004 15:14:24 
 Re: незакрытые сокеты   Lev Walkin   29 Jan 2004 15:55:49 
 Re: незакрытые сокеты   Igor Sysoev   29 Jan 2004 16:38:08 
 Re: незакрытые сокеты   Lev Walkin   29 Jan 2004 16:47:01 
 Re: незакрытые сокеты   Igor Sysoev   29 Jan 2004 18:02:41 
 Re: незакрытые сокеты   Lev Walkin   29 Jan 2004 18:46:56 
 Re: незакрытые сокеты   Lev Walkin   29 Jan 2004 18:57:56 
 Re: незакрытые сокеты   Igor Sysoev   29 Jan 2004 19:33:18 
 Re: незакрытые сокеты   Lev Walkin   29 Jan 2004 19:52:24 
 незакрытые сокеты   Slawa Olhovchenkov   29 Jan 2004 17:41:14 
 Re: незакрытые сокеты   Lev Walkin   29 Jan 2004 18:48:30 
 незакрытые сокеты   Slawa Olhovchenkov   29 Jan 2004 16:59:28 
 Re: незакрытые сокеты   Lev Walkin   29 Jan 2004 17:52:22 
Архивное /ru.unix.bsd/9104a9933169.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional