суббота, 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, но сплю уже не так спокойно как раньше :-)

Ссылки на первоисточник

Сколько не сопротивлялся внутренне, все же пришлось поставить ремарку "При перепечатке указание ссылки на opennet.ru обязательно" на страницы новостей, честное слово, устал каждый день писать требования поставить ссылку на первоисточник.

Но не в этом суть, сегодня первый раз столкнулся с обратной ситуацией, "сообщает opennet.ru" приписали тексту совершенно не имеющему к opennet отношения, причём текст Windows тематики.