我在Solaris中设置了以下tcp内核参数
ndd -set /dev/tcp tcp_ip_abort_interval 120000 ndd -set /dev/tcp tcp_rexmit_interval_max 15000 ndd -set /dev/tcp tcp_rexmit_interval_min 400 ndd -set /dev/tcp tcp_keepalive_interval 30000
Linux(RedHat)中的等价性是什么? 我只find了tcp_keepalive_intvl。
对于那些你想念的人来说,更多的参数需要调整,其中一些是netfilter的一部分:
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120 net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60 net.netfilter.nf_conntrack_tcp_timeout_established = 432000 net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60 net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30 net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_close = 10 net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300 net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300
您必须在内核中加载连接跟踪模块。
其他调整:
net.ipv4.tcp_syn_retries = 5 net.ipv4.tcp_synack_retries = 5 net.ipv4.tcp_retries1 = 3 net.ipv4.tcp_retries2 = 15 net.ipv4.tcp_fin_timeout = 60
所以你必须计算这些参数的值来模仿你得到的行为,通过设置4个参数到Solarisnetworking堆栈。 顺便检查在Linux man 7 tcp 。