Открытие и закрытие большого количества сеансов TCP может повлиять на брандмауэры отслеживания соединений и балансировщики нагрузки, вызывая их замедление или даже сбой и отклонение соединения.Некоторые из них, например Linux iptables conntrack, имеют умеренные значения по умолчанию для числа отслеживаемых соединений.
В программе могут не хватить доступных номеров локальных портов, если она слишком быстро обрабатывает сообщения.Есть тайм-аут TCP, прежде чем сокет можно считать «закрытым».Часто есть таймер операционной системы для очистки этих закрытых соединений.Если слишком много сокетов открываются слишком быстро, операционная система, возможно, не успела очистить.
Рукопожатие добавляет около 80 байтов к вашей стоимости полосы пропускания.Закрытие соединения TCP также включает пакеты FIN или RST, хотя эти флаги можно комбинировать с пакетом данных.
Задержка в установленном сеансе TCP может быть чуть выше, если для сообщения включен алгоритм Nagle.отправитель.Nagle заставляет ОС ждать больше данных перед отправкой частично заполненного пакета.Закрываемый сеанс TCP сбрасывает все данные.Тот же эффект можно получить в открытом сеансе, отключив Nagle с флагом TCP_NODELAY
.