суббота, 26 апреля 2008 г.

Сервер opennet повис

В прошлую пятницу opennet.ru был около часа недоступен, за две недели до этого обновил систему с FreeBSD 6.2 до 6.3, как говориться нарушил главное правило "работает - не трогай". Раньше была мелкая проблема при перемонтировании в read-only разделов с бэкапом, но особо не беспокоила.

Сервак перестал на запросы отвечать, посмотрел диагностику - 36 тыс. сокетов в состоянии TIME_WAIT, как лавина за час накопились, похоже на какой-то глюк FreeBSD 6.3 :-( Все соединения оставались висеть в TIME_WAIT статусе, текущие открытые соединения, например ssh, работали нормально. Обычно в TIME_WAIT постоянно болталось около 500 сокетов. net.inet.tcp.maxtcptw и max_files у меня тыс. 50, но уперлось в kern.ipc.maxsockets, который как раз 36 тыс.

Подозрения пали на установленную net.inet.tcp.msl=7500, сейчас вернул в дефолтовые 30000. Но при дефолте теперь постоянно около 800 коннектов в TIME_WAIT висят.

Будем наедятся на лучшее, на всякий случай написал деглюкер на случай разрастания TIME_WAIT, но сплю уже не так спокойно как раньше :-)

Комментариев нет: