游乐游手机版
首页/系统平台/文章详情

银河麒麟系统最大并发连接数修改方法

时间:2026-07-08 07:34
银河麒麟系统高并发连接需调整:扩大TCP全 半连接队列(修改tcp_max_syn_backlog、somaxconn);扩展本地端口范围并缩短TIME_WAIT;提升文件描述符限制(limits conf及systemd配置)。

您是否也曾遇到过这样的困扰?当银河麒麟系统运行高并发网络服务时,客户端突然无法连接,要么报“连接被拒绝”,要么弹出“Cannot assign requested address”错误,甚至频繁出现超时现象。不必慌张,这很可能是系统级并发连接能力受限于默认参数。要从根本上解决,必须同步调整内核队列、端口资源以及文件描述符这三个关键方向,缺一不可。

银河麒麟系统怎么修改系统的最大并发连接数

扩大TCP全连接与半连接队列

内核通过两个队列来管理连接:半连接队列(SYN_RECV)暂存尚未完成三次握手的请求;全连接队列(ESTABLISHED)存放已经完成握手、等待应用程序调用accept()的连接。如果这两个队列容量过小,新连接就会被直接丢弃,且不产生任何报错——只是静默丢包,这是最令人头疼的问题。

第一步:编辑/etc/sysctl.conf,在文件末尾追加以下两行:

net.ipv4.tcp_max_syn_backlog = 65535
net.core.somaxconn = 65535

第二步:执行sudo sysctl -p命令立即加载新配置。

第三步:验证配置是否生效:运行sudo sysctl net.ipv4.tcp_max_syn_backlog net.core.somaxconn,输出的值必须为65535。

注意:仅修改内核参数还不够。Nginx需要在listen指令中显式添加backlog=65535,Tomcat则要在server.xml中将acceptCount设置为65535,否则应用层仍会锁定在默认的128上,前面的调整等于白费。

扩展本地临时端口范围并缩短TIME_WAIT

对于作为客户端高频发起连接的服务(例如API网关),可用的临时端口数量由ip_local_port_range参数决定。默认值32768–65535仅提供了大约3.2万个端口,在短连接密集的场景下,这些端口很快就会被耗尽,随后直接触发“Cannot assign requested address”错误。

方法一:修改端口范围

/etc/sysctl.conf添加一行:net.ipv4.ip_local_port_range = 1024 65535

执行sudo sysctl -p使配置生效。

方法二:加快端口复用

执行echo "net.ipv4.tcp_fin_timeout = 30" | sudo tee -a /etc/sysctl.conf && sudo sysctl -p,将TIME_WAIT状态的持续时间从默认的60秒压缩至30秒。

验证端口范围是否更新:运行sudo sysctl net.ipv4.ip_local_port_range,输出应为1024 65535

提升文件描述符系统限制

每个TCP连接至少占用一个文件描述符(fd)。如果系统级或进程级的fd限制过低,即使内核参数已经调高,连接仍然会在用户态被拒绝,表现为“Too many open files”错误。

第一步:编辑/etc/security/limits.conf,追加以下四行:

* soft nofile 65535
* hard nofile 65535
* soft noproc 65535
* hard noproc 65535

第二步:确认PAM模块已启用limits配置——检查/etc/pam.d/common-session文件中是否存在且未被注释的行:session required pam_limits.so

第三步:退出当前SSH会话,重新登录后执行ulimit -n,输出必须为65535。

注意:systemd服务(如nginx、mysql)完全无视limits.conf,必须额外在/etc/systemd/system.conf中设置DefaultLimitNOFILE=65535并执行sudo systemctl daemon-reload。这一步很容易被忽略,但恰恰是生产环境里最常见的坑。

来源:https://www.php.cn/faq/2782584.html
上一篇统信UOS如何设置文件夹自定义图标详细教程 下一篇统信UOS系统中终端背景模糊度详细设置方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
麒麟操作系统如何查看共享内存段信息
系统平台 · 2026-07-08

麒麟操作系统如何查看共享内存段信息

排查麒麟系统共享内存问题时,首先使用cat proc sysvipc shm或ipcs-m命令查看所有共享内存段,并仔细关注其大小和最后操作进程ID两个关键字段,接着通过ipcs-m-i和ps命令来精确定位归属的进程,确认没有任何有效使用者之后,再使用ipcrm-m命令进行安全清理操作。

麒麟操作系统运行Python脚本的完整指南
系统平台 · 2026-07-08

麒麟操作系统运行Python脚本的完整指南

在银河麒麟系统上双击 py文件无反应,因Peony文件管理器限制且环境未加载。具体解决方法:终端显式调用python3运行;先激活conda环境再运行;或创建 desktop文件,设置Exec完整路径及Terminal属性,实现双击启动。请同时注意需确保文件有执行权限。

麒麟OS怎么设置鼠标右键点击即选择
系统平台 · 2026-07-08

麒麟OS怎么设置鼠标右键点击即选择

麒麟OS可通过三种方法实现右键点击即选中:临时用xinput调换按钮映射;通过gsettings关闭右键菜单并配合xbindkeys脚本模拟左键点击;或修改Peony源码重新编译。各方法适合不同场景,建议根据需求选择。

银河麒麟系统用户头像资料无法修改的解决办法
系统平台 · 2026-07-08

银河麒麟系统用户头像资料无法修改的解决办法

在银河麒麟系统中无法修改用户头像和资料,因AccountsService服务写入元数据出错,表现头像保存失败或重启后恢复。解决需修复` var lib AccountsService icons `目录权限,将` var lib AccountsService users `下配置文件属主改为当前用户并设为600权限,最后重启accounts-daemon并

麒麟OS如何查看正在运行的服务
系统平台 · 2026-07-08

麒麟OS如何查看正在运行的服务

麒麟OS查看运行服务推荐使用systemctllist-units--type=service--state=running命令,准确显示实际运行服务。精简命令systemctl--type=service--state=running同样有效。旧环境service--status-all可能误判,需用ps命令辅助验证进程真实性。