为能使linux服务器能最大化的工作,通常需要对linux的通常设置做适当的更改,而这又往往会依据服务器的类型不同,而有所变化。
对于通常的多连接的服务器其参数设置,可在
/etc/sysctl.conf
做修改,如
fs.file-max=999999
#表示进程可同时打开的最大句柄数
net.ipv4.tcp_tw_reuse = 1 #表示允许将TIME_WAIT状态的socket重用
net.ipv4.tcp_keepalive_time = 600 #表示当keepalive时,tcp发送keepalive的频度,默认为2hours,小点有利于快速清理无效的连接
net.ipv4.tcp_fin_timeout =30 #表示服务器主动关闭连接时,socket在FIN_WAIT_2的最大等待时间
net.ipv4.tcp_max_tw_buckets = 5000 #表示允许的TIME_WAIT状态的socket的最大值,默认为180000,大于这个值时系统将进行自动清理并给出报警
net.ipv4.ip_local_port_range = 1024 61000 #表示udp与tcp连接的本地端口取值范围
net.ipv4.tcp_rmem = 4096 32768 262142 #表示tcp接收缓存的最小值,默认值,最大值
net.ipv4.tcp_wmem = 4096 32768 262142 #表示tcp发送缓存的最小值,默认值,最大值
net.core.netdev_max_backlog = 8096 #网卡接收数据的速度大于内核的处理速度时,会有一个队列保存这部分数据,此值就表示此队列的大小
net.core.rmem_default = 262144 # net.core.wmem_default = 262144 # net.core.rmem_max = 2097152 # net.core.wmem_max = 2097152 # net.ipv4.tcp_syncookies = 1 #此参数与性能无关,用于部分解决syn攻击
net.ipv4.tcp_max_syn_backlog = 1024 #表示TCP三次握手建立阶段接收SYN请求的最大长度,默认为1024,设置大一些在服务器来不及处理时,可使其不丢失连接请求
修改完成后使用
sysctl -p
即可使修改生效