linux维持长连接调优

由于linux内核的限制,files open too many是一个常见的问题
修改/etc/sysctl.conf文件

net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_timestamps = 0
net.ipv4.ip_local_port_range = 1024 65000
fs.file-max=655360
net.netfilter.nf_conntrack_max = 798641


以上参数存在/proc/sys/下的相应目录

[quote]目前,大多的 ip_conntrack_* 已被 nf_conntrack_* 取代,很多 ip_conntrack_* 仅仅是个 alias,原先的 ip_conntrack 的 /proc/sys/net/ipv4/netfilter/ 依然存在,但是新的 nf_conntrack 在 /proc/sys/net/netfilter/ 中[/quote]
[quote]file-max是设置 系统所有进程一共可以打开的文件数量
/proc/sys/fs/file-max
[/quote]

[quote]
ip_conntrack 是Linux NAT一个跟踪连接条目的模块记录着允许的跟踪连接条目ip_conntrack 模块会记录 tcp 通讯协议的 established connection 记录, 而且预设 timeout 时间长达五天 (432,000 秒).所以局域网中当有人使用p2p类的软件就很容易使ip_conntrack达到最大值...也由此造成。
echo "3600" > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
[/quote]


/etc/security/limits.conf
*    soft    nofile  1000000  
* hard nofile 1000000

[quote]ulimit作用:即设置当前shell以及由它启动的进程的资源限制[/quote]


[quote]
1.验证某个进程的限制

# ps -ef |grep nginx

将得出的PID XXX带入下面

#cat /proc/XXX/limits

查看Max open files 那一行

2.验证系统级别的限制

# ulimit -n

3.验证内核级别的限制

#cat /proc/sys/fs/file-max
[/quote]
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统的性能调优是非常重要的,特别是对于处理大规模连接的服务,如Web服务器、数据库服务器、MQTT Broker等等,更需要对其进行优化。在Linux系统中,TCP/IP协议栈是网络传输的核心,因此参数的调整对于大规模连接应用的性能优化至关重要。Linux系统默认的网络参数,是根据通用的平均情况下得出的,可能会在高并发、高带宽、高连接数情况下导致网络性能不足。 针对百万连接的情况,可以考虑调整以下网络参数: 1. 调整文件描述符限制:文件描述符限制是指Linux的一个进程可以打开的文件描述符的数目,可以通过命令ulimit -n来查看和修改。在高并发的网络应用中,打开大量的socket连接需要消耗大量的文件描述符,因此需要将文件描述符限制调整到足够高的数值。 2. 增加可用端口范围:Linux系统中端口范围默认为16384 - 65535,这个端口数对于百万连接的应用来说显然是不够的。可以通过修改参数/proc/sys/net/ipv4/ip_local_port_range,将可用端口范围扩大,从而减少端口瓶颈。 3. 调整tcp连接方面的参数:在TCP/IP协议栈中,一些参数例如TCP keepalive、窗口大小等都可能影响TCP连接的性能。可以通过调整这些参数来达到优化网络性能的目的。 4. 加强服务器硬件和网络设备的性能:提升硬件和网络设备的性能、扩大带宽,是提升网络性能的不二选择。 总之,在进行百万连接的服务优化时,需要综合考虑耗费的硬件资源、网络传输实际情况、设备配置等进行参数调整,以达到优化网络性能的目的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值