| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 物联网架构实例—解决Linux(Ubuntu)服务器最大TCP连接数限制 -> 正文阅读 |
|
[系统运维]物联网架构实例—解决Linux(Ubuntu)服务器最大TCP连接数限制 |
1.前言:在对物联网网关进行压测的时候,发现在腾讯云部署网关程序,设备接入数量只能达到4000多个长连接,之后就再也无法接入终端了。 之前在阿里云部署的时候明明可以到达2万左右,而且腾讯云的这个服务器比阿里云的硬件配置还要高上不少,不至于那么差,随后查阅大量资料终于完美解决。 2.解决步骤:2.1.修改/etc/security/limits.conf文件执行脚本:
在文件中添加如下行(*指代系统用户名),修改Linux系统对用户的关于打开文件数的软限制和硬限制:
2.2.修改/etc/pam.d/login文件执行脚本:
在文件中添加如下行:
如果是64bit系统的话,应该为
2.3.修改/etc/sysctl.conf文件执行脚本
在文件中添加如下行(修改网络内核对TCP连接的有关限制):
2.4.执行行如下命令(使上述设置生效)
2.5.执行如下命令(linux系统优化完网络必须调高系统允许打开的文件数才能支持大的并发)
2.6.重启电脑执行命令:
原本以为上述操作执行万后,连接数就可以上去了,最后发现竟然没有效果,是因为有一处程序的限制没有打开,下面就着重说一下这里,这个也是让我纠结了2天的才解决的。 2.7.修改程序限制打开我的程序日志,发现终端连接数只要一到4000多以上就会频发出现一个错误,java.io.IOException:Too many open files,所以明显程序的限制没有生效。 ?既然找到了问题,就朝着这个方向查询资料,为啥Linux的配置都已经生效,味道部署的程序不生效? 找到程序对应的PID,因为我这边是Java程序,所以使用命令:
?找到自己受限制的程序PID然后使用cat 命令查看程序的限制,执行命令:
?查了大量资料后才知道:在Centos7 与 ubuntu 系统中,/etc/security/limits.conf文件的配置作用域缩小了。/etc/security/limits.conf的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效。 如果是登录用户,通过/etc/security/limits.conf与/etc/security/limits.d下的文件设置即可。 但是对于systemd service的资源设置(我们部署的运行程序则属于此项),则需修改全局配置:及下面两个配置文件: 配置文件1:
配置文件2:
?在这两个配置内增加下面两行:
其中:system.conf是系统实例使用的;user.conf是用户实例使用的。 修改之后重启系统,可以使用脚本(reboot),但是有的Shell工具貌似对此脚本有限制,我这边使用的是XShell进行操作的,是可以正常执行reboot脚本进行服务器的重启,然后执行下面的命令查看修改后的限制是否正常。
最终搞明白了Linux服务器对连接数的限制原理,对于Linux服务器而已所有的TCP链路都是打开文件句柄?,所以提升TCP连接数就是对开放对文件句柄的限制。 3.顺利进行了压力测试通过上述操作,目前我使用单台4核8G服务器,连接数量接入到25000个,单机并发处理能力(含存储到数据库)在5500个包/秒。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 4:57:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |