Я весь день читал об этом повсюду, и, судя по тому, что я понял, TIME_WAIT - относительно безобидное состояние. Он должен быть безвредным, даже когда его слишком много.
Но если они прыгают к цифрам, которые я видел последние 24 часа, что-то действительно не так!
[root@1 ~]# netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
1 established)
1 Foreign
12 CLOSE_WAIT
15 LISTEN
64 LAST_ACK
201 FIN_WAIT2
334 CLOSING
605 ESTABLISHED
816 SYN_RECV
981 FIN_WAIT1
26830 TIME_WAIT
Это число колеблется от 20 000 до 30 000+ (до сих пор я видел максимум 32 000). Что меня беспокоит, так это то, что это разные IP-адреса из самых разных мест.
Теперь это должно было быть (или должно было быть) DDoS-атакой. Я знаю это точно, но не буду вдаваться в скучные подробности. Это началось как DDoS-атака и на пару минут повлияло на производительность моего сервера. После этого все вернулось на круги своя. Моя загрузка сервера нормальная. Мой интернет-трафик нормальный. Ресурсы сервера не используются. Мои сайты загружаются нормально.
У меня также отключены IPTABLES. С этим тоже есть странная проблема. Каждый раз, когда я включаю firewall / iptables, мой сервер начинает терять пакеты. Очень много. Теряется около 50% -60% пакетов. Это происходит в течение часа или нескольких часов после включения брандмауэра. Как только я отключаю его, пингуются ответы со всех мест, я тестирую их с самого начала, очищаясь и снова становясь стабильным. Очень странно.
Соединения в состоянии TIME_WAIT колеблются на этих цифрах со вчерашнего дня. У меня это уже 24 часа, и хотя это никак не повлияло на производительность, это достаточно тревожно.
Мое текущее значение tcp_fin_timeout составляет 30 секунд, по умолчанию 60 секунд. Однако это, похоже, совсем не помогает.
Есть идеи, предложения? Все, что угодно, будет оценено по достоинству!
Хорошее обсуждение времени ожидания дает Как принудительно закрыть сокет во время ожидания.
Согласно этой ссылке, количество подключений с ожиданием времени должно соответствовать трафику за последние 4 минуты. Эти цифры примерно совпадают?
У меня была эта проблема с подключениями в состоянии ожидания, когда другой конец не зависает должным образом. Это может быть вызвано злонамеренными причинами или проблемой в вашем сетевом стеке.
Тот факт, что у вас возникли проблемы с iptables, также указывает на проблемы с вашим сетевым стеком.
Стоит переключить ваше соединение на другой сетевой порт, если он у вас есть, чтобы увидеть, возникает ли на нем та же проблема. Проблема также может быть связана с брандмауэром восходящего потока, маршрутизатором или плохим парнем.
Также есть несколько сообщений о проблемах с настройками RedHat (+ Centos?) Tcp_tw_recycle. Вы можете изучить это.