Какие настройки лучше всего настроить, чтобы Linux мог обрабатывать очень большое количество TCP-подключений, таких как прокси-сервер или веб-сервер?
Я использую Centos6 и squid, и я вижу, что большое количество соединений TIME_WAIT выполняется резервное копирование, пока, наконец, машина не перестает отвечать. В данный момент машина не загружена, и у нее возникают проблемы с установлением входящих и исходящих соединений.
У меня было несколько предложений по настройке /proc/sys/net/ipv4/tcp_tw_reuse
и /proc/sys/net/ipv4/tcp_tw_reuse
но они упоминают плохое взаимодействие с балансировщиками нагрузки и NAT, оба из которых используются в моей ситуации.
Возможно, вы могли бы попробовать уменьшить / proc / sys / net / ipv4 / tcp_fin_timeout. Если вы используете keepalive, вы можете поиграть с / proc / sys / net / ipv4 / tcp_keepalive_intvl и / proc / sys / net / ipv4 / tcp_keepalive_probes?
Попробуйте приглушить это:
net.ipv4.tcp_keepalive_time = 7200
Что-то вроде
net.ipv4.tcp_keepalive_time = 600
должно быть намного лучше для вашей ситуации.
Также убедитесь, что вы настроили диапазон локальных портов. По умолчанию в большинстве дистрибутивов это
net.ipv4.ip_local_port_range = 32768 61000
Что-то вроде
net.ipv4.ip_local_port_range = 1025 65534
должно работать намного лучше.