Linux内核参数调整:TCP

主题

Linux内核参数调整:TCP

## Linux内核参数

#在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。
#原值:net.core.netdev_max_backlog = 1000
#修改原因:增加容量
net.core.netdev_max_backlog = 10000
#内核网络接收缓存大小
#原值:net.core.rmem_max = 4194304
#修改原因:增加容量
net.core.rmem_max = 16777216
#定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。
#原值:net.core.somaxconn = 3072
#修改原因:增加容量
net.core.somaxconn = 5120
#内核网络发送缓存大小
#原值:net.core.wmem_max = 1048576
#修改原因:增加容量
net.core.wmem_max = 16777216
#本地端口使用范围
#原值:net.ipv4.ip_local_port_range = 9000 65500
#修改原因:增加容量
net.ipv4.ip_local_port_range = 1100 65500
#对于本端断开的socket连接,TCP保持在FIN­WAIT­2状态的时间(秒)。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。
#原值:net.ipv4.tcp_fin_timeout = 60
#修改原因:减少等待时间
net.ipv4.tcp_fin_timeout = 10
#系统所能处理不属于任何进程的 socket数量
#原值:net.ipv4.tcp_max_orphans = 65536
#修改原因:增加容量
net.ipv4.tcp_max_orphans = 65536
#对于还未获得对方确认的连接请求,可保存在队列中的最大数目。如果服务器经常出现过载,可以尝试增加这个数字。
#原值:net.ipv4.tcp_max_syn_backlog = 3072
#修改原因:增加容量
net.ipv4.tcp_max_syn_backlog = 10000
#当连接关闭的时候,TCP 默认缓存了很多连接指标在 route cache 中,以至于在不久的将来,连接建立的时候,可以用这些值来设置初始化条件。通常,这提升了整体的性能,但是,有时候会引起性能下降, 如果设置的话,TCP 在关闭的时候不缓存这些指标。
#原值:net.ipv4.tcp_no_metrics_save = 0
#修改原因:无
net.ipv4.tcp_no_metrics_save = 0
#TCP接收缓存,最小值,默认值,最大值
#原值:net.ipv4.tcp_rmem = 4096 87380 6291456
#修改原因:增加容量
net.ipv4.tcp_rmem = 4096 87380 16771216
#启用有选择的应答(1表示启用),通过有选择地应答乱序接收到的报文来提高性能,让发送者只发送丢失的报文段,(对于广域网通信来说)这个选项应该启用,但是会增加对CPU的占用。
#原值:net.ipv4.tcp_sack = 1
#修改原因:无
net.ipv4.tcp_sack = 1
#SYN重试次数
#原值:net.ipv4.tcp_syn_retries = 6
#修改原因:减少重试次数
net.ipv4.tcp_syn_retries = 2
#SNY/ACK重试次数
#原值:net.ipv4.tcp_synack_retries = 5
#修改原因:减少重试次数
net.ipv4.tcp_synack_retries = 2
#表示是否打开TCP同步标签(syncookie),内核必须打开了CONFIG_SYN_COOKIES项进行编译,同步标签可以防止一个套接字在有过多试图连接到达时引起过载。
#原值:net.ipv4.tcp_syncookies = 1
#修改原因:无
net.ipv4.tcp_syncookies = 1
#TCP时间戳(会在TCP包头增加12个字节),以一种比重发超时更精确的方法(参考RFC 1323)来启用对 RTT 的计算,为实现更好的性能应该启用这个选项。
#原值:net.ipv4.tcp_timestamps = 1
#修改原因:无
net.ipv4.tcp_timestamps = 1
#能够更快地回收TIME­WAIT套接字。
#原值:net.ipv4.tcp_tw_recycle = 0
#修改原因:更快回收
net.ipv4.tcp_tw_recycle = 1
#启用RFC 1323定义的window scaling,要支持超过64KB的TCP窗口,必须启用该值(1表示启用),TCP窗口最大至1GB,TCP连接双方都启用时才生效。
#原值:net.ipv4.tcp_window_scaling = 1
#修改原因:无
net.ipv4.tcp_window_scaling = 1
#TCP发送缓存,最小值,默认值,最大值
#原值:net.ipv4.tcp_wmem = 4096 16384 4194304
#修改原因:增加容量
net.ipv4.tcp_wmem = 4096 87380 16771216