настройка maxtcptw

Maxim Dounin mdounin на mdounin.ru
Пт Ноя 27 18:27:49 MSK 2009


Hello!

On Fri, Nov 27, 2009 at 03:59:01PM +0100, Anton Kuznetsov wrote:

> Ковырялся с одним сервером, есть проблема - примерно через месяц работы
> впадает в странное состояние когда не может установить ни один новый
> коннект. Если у меня был ssh на сервер - хорошо, ребутнуть можно, в
> остальном в этот момент все выглядит нормально, все запущено, но ничего не
> коннектится, изнутри наружу - тоже.
> сейчас смотрю и вижу странную вещь:
> 
> sysctl net.inet.tcp.maxtcptw=40960
> >vmstat -z
> ITEM                   SIZE     LIMIT      USED      FREE    REQUESTS
> FAILURES
> 
> tcptw:                     48,    41028,      140,     2668,
> 58435186,        0
> 
> used+free рядом не стояли с лимитом.

Значит он тут непричём, логично?

Вообще time_wait'ы в современных версиях FreeBSD реюзаются 
автоматически, и приводить к ступору не могут.  Это могло быть 
проблемой во времена 4.*, но уж никак не в 6.*.

> В известном мануале от Сысоева это описано так:
> sysctl net.inet.tcp.maxtcptw=40960
> Статистика:
>         >vmstat -z
>         ITEM      SIZE     LIMIT      USED      FREE    REQUESTS  FAILURES
>         ...
>         tcptw:      48,    41028,    15941,    25087, 1045159949,   438573
> 
> 
> Что с этим можно сделать?
> И из-за чего еще может наступать ступор с коннектами?

Начать с простого - посмотреть /var/log/messages внимательно, и 
vmstat -z тоже внимательно на предмет достижения лимитов.  В 
частности - могли банально кончиться сокеты из-за утечки 
где-то.

> FreeBSD 6.3-RELEASE i386
> nginx/0.8.24

В nginx'е 0.8.24 я утечек не знаю (по крайней мере со стандартными 
модулями), а вот в фре 6.3 могут быть проблемы, были сигналы.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru