centos7 tcp长连接服务器的优化

前提认识

sysctl命令

-w 临时改变某个指定参数的值,如

sysctl -w net.ipv4.ip_forward=1

-a 显示所有的系统参数
-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

linux 最大文件打开数nofile及nr_open、file-max说明

  • ./etc/security/limits.conf中指定的nofile的值,nofile有上限,不是无穷大。nofile由内核参数nr_open定义的.

“在2.6.25内核之前有个宏定义,定义了这个值的最大值,为1024*1024,正好是100万,而在2.6.25内核及其之后,这个值是可以通过/proc/sys/fs/nr_open来设置。”

  • 使用cat /proc/sys/fs/nr_open 查看nr_open值,可通过修改/ect/sysct.conf 修改fs.nr_open值,sysctl -p生效
  • fix_max linux内核定义的最大file handles(文件句柄数).nr_open定义是单进程最大file-handles,file-handles(即文件句柄)
file-handles与fd

file-handle应该是一个高层的对象,使用fopen,fread等函数来调用,而FD是底层的一个对象,可以通过open,read等函数来调用;具体不太清楚,不重要,哈哈……

配置文件

临时配置

系统全局允许分配的最大文件句柄数:
# 2 millions system-wide
sysctl -w fs.file-max=2097152
sysctl -w fs.nr_open=2097152

echo 2097152 > /proc/sys/fs/nr_open
允许当前会话 / 进程打开文件句柄数:
ulimit -n 1048576

持久化配置

配置/etc/systemd/system.conf

设置服务最大文件句柄数

DefaultLimitNOFILE=1048576
配置/etc/security/limits.conf

/etc/security/limits.conf 持久化设置允许用户 / 进程打开文件句柄数

*      soft   nofile      1048576
*      hard   nofile      1048576
配置 /etc/sysctl.conf
系统全局允许分配的最大文件句柄数
fs.file-max = 1048576
TCP 协议栈网络参数
#并发连接 backlog 设置:
net.core.somaxconn=32768
net.ipv4.tcp_max_syn_backlog=16384
net.core.netdev_max_backlog=16384

#可用知名端口范围
net.ipv4.ip_local_port_range='1000 65535'

# TCP Socket 读写 Buffer 设置:
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.core.optmem_max=16777216

net.ipv4.tcp_rmem='1024 4096 16777216'
net.ipv4.tcp_wmem='1024 4096 16777216'
#TCP 连接追踪设置
net.nf_conntrack_max=1000000
net.netfilter.nf_conntrack_max=1000000
net.netfilter.nf_conntrack_tcp_timeout_time_wait=30

# TIME-WAIT Socket 最大数量、回收与重用设置:
net.ipv4.tcp_max_tw_buckets=1048576

#FIN-WAIT-2 Socket 超时设置
net.ipv4.tcp_fin_timeout=15

生效命令

/sbin/sysctl -p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值