首页
最新活动
服务器租用
香港服务器租用
台湾服务器租用
美国服务器租用
日本服务器租用
新加坡服务器租用
高防服务器
香港高防服务器
台湾高防服务器
美国高防服务器
裸金属
香港裸金属服务器
台湾裸金属服务器
美国裸金属服务器
日本裸金属服务器
新加坡裸金属服务器
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
CDN
CDN节点
CDN带宽
CDN防御
CDN定制
行业新闻
官方公告
香港服务器资讯
帮助文档
wp博客
zb博客
服务器资讯
联系我们
关于我们
机房介绍
机房托管
登入
注册
帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
联系客服
服务器资讯
/
香港服务器租用
/
香港VPS租用
/
香港云服务器
/
美国服务器租用
/
台湾服务器租用
/
日本服务器租用
/
官方公告
/
帮助文档
服务器的TCP连接限制:如何优化并提高服务器的并发连接数?
发布时间:2024-03-07 18:53:10 分类:帮助文档
服务器的TCP连接限制:如何优化并提高服务器的并发连接数? 🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注),发送【资料】可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景、中间件系列笔记和编程高频电子书! 【11来了】文章导读地址:点击查看文章导读! 🍁🍁🍁🍁🍁🍁🍁🍁 服务器的TCP连接限制:如何优化并提高服务器的并发连接数? Linux服务器最大能打开的文件数量 在 Linux 服务器中一切皆文件,将网络接口、进程等抽象概念都视作文件,以统一的方式进行管理和操作 那么在服务器中,能打开的最大文件数量受 4 个参数影响,分别是: fs.file-max:内核参数,系统级别的限制表示整个系统可以打开的最大文件数,root 用户不会受此参数影响 soft nofile:用户级别的软限制,限制单个进程上可以打开的最大文件数,soft nofile 的值比 fs.file-max 的值要小得多 hard nofile:用户级别的硬限制,限制单个进程上可以打开的最大文件数,默认情况下,hard nofile 的值通常大于等于 soft nofile 的值,soft nofile 是一个警告阈值,超过了并不会阻止文件描述符的打开,而是发出警告,但是 hard nofile 是实际的最大限制,超过它将无法打开文件描述符 fs.nr_open:内核参数,进程级别的限制,限制单个进程可以打开的最大文件数 可以通过命令 sysctl fs.nr_open 查看该值大小 这三个参数之间的值大小设置需要注意以下几点: hard nofile 的值大于等于 soft nofilefs.nr_open 的值大于 hard nofilefs.nr_open 的值不要超过系统的硬件资源限制 调整服务器能打开的最大文件数 fs.file-max 和 fs.nr_open 参数设置 通过修改 /etc/sysctl.conf 文件来修改能打开的最大文件数 vim /etc/sysctl.conf # 添加如下行 fs.file-max=1100000 // 系统级别设置成110万,多留点 buffer fs.nr_open=1100000 // 进程级别也设置成110万,因为要保证比 hard nofile大 # 使配置生效 sysctl -p soft nofile 和 hard nofile 参数设置 显示当前用户的最大文件描述符限制可以使用以下命令: ulimit -n 这个值可以通过修改 /etc/security/limits.conf或者/etc/security/limits.d/* 的值,添加如下行: vi /etc/security/limits.conf # 将用户级别都设置成 100w * soft nofile 1000000 * hard nofile 1000000 一台服务器最大支持的连接数量 TCP 连接建立之后,其实就是客户端和服务器端在内存中维护的一组 socket 内核对象,只要存储 源IP、源端口号、目标IP、目标端口号 那么在理想情况下,如果只维护客户端和服务端的 socket 对象的话,最大可以建立的连接数量是由 IP + 端口号来决定的,只要 IP + 端口号不重复,那么就可以找到对应地址,建立连接,理论最大连接数量可以建立 2^32(IP数) * 2^16(端口数) ≈ 两百多亿 条连接 但是这肯定是不可能的,这么多条连接,内存也放不下呀,而且连接中如果有数据请求,需要 CPU 去处理,CPU 也处理不过来 因此最大的连接数量收到了 内存 和 CPU 两个方面的限制 在真实场景中,有频繁的数据收发的数据处理,一台服务器可以支撑 1000 个连接就算比较好的了,在建立 TCP 连接中,服务器端的开销并不在连接的建立上,而是花在了对连接中的数据进行业务逻辑处理的过程中,这个过程是很占用 CPU 的! 一台客户机器最多可以发出多少TCP连接? 上边已经说了,建立 TCP 连接,其实就是维护一组 socket 内核对象的数据,也就是: 源IP、源端口号、目标IP、目标端口号 那么只要有其中一个元素不同,便可以区分出是不同的 TCP 连接 假设客户机器的 IP 地址不会发生变化,并且客户端只和一台 server 服务器建立 TCP 连接,那么一台客户机器可以发出的 TCP 连接的数量取决源端口号 的数量,源端口号的可用范围是 【0-65535】,所以一台客户机器对一台 server 服务器可以建立的最大 TCP 连接的数量是:65535 个连接 但是客户端的可用端口范围一般达不到 65535 个,受到了内核参数 ip_local_port_range 的影响,默认值是 32768 61000,可以通过修改 /etc/sysctl.conf 文件来调整可用端口范围: # 修改文件 vi /etc/sysctl.conf # 添加如下内容 net.ipv4.ip_local_port_range = 32768 60999 # 使修改生效 sysctl -p 相关问题 首先,在三次握手中,socket 的连接请求通过一个队列进行存储,队列长度通过参数 net.core.somaxconn 来控制,默认是 128,如果连接请求的数量很大,而队列长度不够,则会导致后续的连接请求被抛弃,可以通过修改此参数的值来增加存储请求的队列长度,减少服务端的请求丢失情况! # 查看当前系统的net.core.somaxconn值 sysctl net.core.somaxconn # 修改队列长度 vi /etc/sysctl.conf # 添加如下内容 net.core.somaxconn =
# 使修改生效 sysctl -p
上一篇
云服务器租用价格是多少钱
下一篇
香港专业数码
相关文章
服务器卡顿了该如何处理
如何使用iPad Pro开源IDE应用SSH远程连接服务器云端编程开发
一文带你了解MySQL之B+树索引的原理
针对“您的计算机配置似乎是正确的,但该设备或资源(DNS 服务器)没有响应“问题解决
2024年阿里云ECS云服务器搭建幻兽帕鲁服务器教程
宝塔面板内存占用率优化
服务器挖矿木马识别与清理
安卓怎么联系到服务器
Windows server : RDS 服务 远程桌面服务(安装&搭建&测试)
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价
7*24H在线售后
高可用资源,安全稳定
1v1专属客服对接
无忧退款试用保障
德讯电讯股份有限公司
电话:00886-982-263-666
台湾总部:台北市中山区建国北路一段29号3楼
香港分公司:九龙弥敦道625号雅兰商业二期906室
服务器租用
香港服务器
日本服务器
台湾服务器
美国服务器
高防服务器购买
香港高防服务器出租
台湾高防服务器租赁
美国高防服务器DDos
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
行业新闻
香港服务器租用
服务器资讯
香港云服务器
台湾服务器租用
zblog博客
香港VPS
关于我们
机房介绍
联系我们
Copyright © 1997-2024 www.hkstack.com All rights reserved.