Назад | Перейти на главную страницу

Очень большое количество подключений в состоянии TIME_WAIT; Сервер медленный, ipconntrac

У меня есть сервер nginx с балансировкой нагрузки и обратным прокси. Прямо сейчас он идет за другим nginx, но очень скоро я планирую сделать его фронтальным, где он будет получать TCP-соединения от клиентов напрямую со скоростью 500 запросов в секунду.

У меня большие проблемы с сервером. Я вставил сюда свои конфигурации и уверен, что проблема связана с ipconntrac и подобными вещами, которые мне не подходят.

http://paste.org/pastebin/view/28543

root@load_balancer:/proc/sys/net/ipv4# netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
     67 CLOSING
    727 ESTABLISHED
    173 FIN_WAIT1
    183 FIN_WAIT2
     19 LAST_ACK
      5 LISTEN
    447 SYN_RECV
      1 SYN_SENT
  27970 TIME_WAIT

Это машина Ubuntu с установленным в основном nginx (балансировщик нагрузки и обратный прокси).

Это определенно не здорово. Можете ли вы помочь мне понять, что происходит, и как я могу это исправить. Это мой действующий сервер, и я уверен, что он сейчас в плохом состоянии. Любой документ или команды, чтобы исправить это, или настройки, которые я должен сделать, чтобы сделать это лучше и сократить время ожидания, а лучше fin_wait1 / 2, будут потрясающими.

Попробуйте следующее:

echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

Возможно, это поможет уменьшить количество подключений TIME_WAIT. Вы также можете сделать эти изменения постоянными в /etc/sysctl.conf:

net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1