TIME_WAIT Info (уменьшить)

У меня есть ajax-приложение, которое отправляет запрос каждые 3 секунды, запрошенная страница устанавливает заголовок на (header("Connection: Keep-Alive, close");), затем выполняет запрос к базе данных и возвращает последние данные.

Значение для TIME_WAIT составляет 60 секунд, поэтому, даже несмотря на то, что я закрываю соединение на запрашиваемой странице (т. Е. "Соединение: Keep-Alive, close"), соединение кажется присутствующим в течение следующих 60 секунд (это происходит для каждого запроса Ajax что я делаю), так что в течение 1 минуты сделано 20 запросов, и общее время TIME_WAIT для этого IP, кажется, составляет около 20

Можно ли уменьшить TIME_WAIT, скажем, до 15 секунд, чтобы уменьшить общее время TIME_WAITS, или можно принудительно закрыть соединение после каждого запроса Ajax?

Любая помощь будет оценена

Спасибо

2 ответа

Вы можете использовать параметр ядра net.ipv4.tcp_fin_timeout:

# sysctl net.ipv4.tcp_fin_timeout=15

Отредактируйте /etc/sysctl.conf, добавьте в конец

net.ipv4.tcp_fin_timeout = 15

затем запустите:

# sysctl -p

Connection: keep-alive, close недопустим HTTP 1.1, так как разрешен ровно один токен подключения, поэтому я ожидаю, что этот заголовок будет проигнорирован и, тем не менее, будет активен keep-alive; в HTTP 1.0 тег "Connection" означает нечто совершенно иное.

Не должно быть никакой технической разницы, является ли соединение "переработанным" или нет, и вы должны оставить этот выбор браузеру. Играть с тайм-аутами FIN почти никогда не бывает хорошей идеей.

Другие вопросы по тегам