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

Влияет ли растущее количество подключений TIME_WAIT на производительность сервера?

У меня есть 2 сервера, оба с RHEL 6, один для Apache 2.2 и один для memcached (memcached-1.4.4-3).

Заметил увеличение количества TIME_WAIT подключения на сервере Apache

netstat -n | grep 11211  | awk '{print $6}' | sort |  uniq -c
      1 ESTABLISHED
    807 TIME_WAIT

и все равно число увеличивается.

Связи в TIME_WAIT штат жестяная банка вызвать проблему, но только когда вы доберетесь до 30 000 из них.

Каждое из этих подключений удерживает локальный IP-адрес и порт открытыми на случай, если какие-либо пакеты из более раннего завершенного подключения были задержаны и пройдут после закрытия подключения. Это конструктивная особенность TCP..

Если у вас их слишком много, новые подключения не могут быть открыты, пока некоторые из подключений в TIME_WAIT состояние истекает. Симптомы, которые вы можете увидеть во внешнем интерфейсе, - это более медленные, чем обычно, HTTP-запросы, особенно когда сайт сильно загружен. (Но у этих симптомов может быть много-много разных причин, поэтому не спешите делать такой вывод.)

Я только однажды столкнулся с этой проблемой, и это было связано с некорректным поведением скрипта на некоторых серверах, который открывал новое соединение с базой данных для каждого запроса, вместо того, чтобы удерживать открытое соединение и запускать по нему несколько запросов. Это не обычная проблема.