Windows怎么优化高并发服务器的TCP/IP连接数限制

酷婷君_7711

酷婷君_7711

2026-11-15

587人浏览

原创

Windows高并发服务器需突破默认TCP限制:扩展动态端口范围至1024–65535,启用TIME_WAIT重用并可选缩短超时至30秒,提升句柄上限与连接跟踪表容量,禁用NetBIOS、LLMNR和SMBv1以减负,最后通过netstat/ss等命令验证瓶颈。

windows怎么优化高并发服务器的tcp/ip连接数限制

Windows高并发服务器在处理大量HTTP请求、WebSocket长连接或微服务间调用时,常因系统默认TCP连接数限制过低而出现“Cannot assign requested address”“Connection refused”或TIME_WAIT堆积,导致服务吞吐骤降。这并非应用代码问题,而是内核级网络栈未适配现代业务规模。

突破默认端口范围限制

Windows默认临时端口(Ephemeral Ports)范围为49152–65535,仅16384个可用端口。在短连接高频场景下,该范围几秒即可耗尽,直接触发“端口无法分配”错误。

第一步:以管理员身份打开PowerShell

第二步:执行命令扩展端口池 → netsh int ipv4 set dynamicport tcp start=1024 num=64512

第三步:同样设置UDP端口 → netsh int ipv4 set dynamicport udp start=1024 num=64512

【必须重启生效】 修改后需重启系统或至少重启TCPIP驱动(net stop tcpip && net start tcpip),否则新连接仍从49152起始分配。

释放TIME_WAIT连接资源

每个断开的TCP连接进入TIME_WAIT状态会占用端口约4分钟(2×MSL)。若每秒新建500连接,4分钟内将累积12万TIME_WAIT连接,远超默认端口池容量。

方法一:启用TIME_WAIT重用(推荐)
管理员PowerShell中运行:
netsh int ipv4 set global timestamps=enabled
netsh int ipv4 set global synattackprotection=enabled
netsh int ipv4 set global maxunackedbytes=65536
netsh int ipv4 set global fastopen=enabled

方法二:缩短TIME_WAIT超时(慎用)
修改注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay → 设为30(十进制,单位秒),值范围30–300。低于30秒可能引发RST包误判,造成连接异常中断。

提升系统句柄与连接跟踪上限

Windows Server默认最大TCP连接数受两个硬性约束:每进程句柄数上限和全局连接跟踪表大小。IIS、Nginx或Java进程若未显式调大句柄限制,单进程很快达到16K句柄瓶颈。

运行命令提升系统级句柄上限:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "LargeSystemCache" -Value 1
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "SecondLevelDataCache" -Value 2048

重启后,在PowerShell中执行:
bcdedit /set increaseuserva 3072 → 将用户模式虚拟地址空间从2GB提升至3GB(仅适用于x64系统)

Windows 开机自启并隐藏到系统托盘
Windows 开机自启并隐藏到系统托盘

让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。

下载

对于使用Windows Defender Firewall with Advanced Security的服务器,还需确认:
防火墙连接跟踪表未成为瓶颈 → 运行 netsh netfw show state 查看“连接跟踪”是否启用;若启用,其默认上限为100万,但高并发下可能需手动扩容,方法为修改注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BFE\Parameters\Policy\MaxConnections → 设为 2000000(十进制)。

禁用非必要协议栈功能减负

Windows默认启用多项面向桌面体验的协议特性,在纯服务器场景下反而增加CPU与内存开销,间接挤压连接处理能力。

关闭NetBIOS over TCP/IP:
网卡属性→Internet协议版本4(TCP/IPv4)→属性→高级→WINS选项卡→选择「禁用TCP/IP上的NetBIOS」

禁用LLMNR(链路本地多播名称解析):
组策略编辑器(gpedit.msc)→计算机配置→管理模板→网络→DNS客户端→禁用「允许LLMNR」

停用SMBv1(已知存在性能与安全缺陷):
PowerShell中运行:Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol -NoRestart

这一步操作起来很简单,直接把命令复制粘贴进管理员PowerShell回车即可,无需重启,但SMB服务会短暂中断。

验证当前连接能力边界

执行以下命令组合,实时查看系统真实承载能力:

ss -s(需安装Windows Subsystem for Linux)或 PowerShell中运行:
(Get-NetTCPConnection | Where-Object State -eq 'Established').Count

查看当前已用临时端口数量:
netstat -an | findstr :[1024-65535] | findstr ESTABLISHED | measure-object

检查句柄使用率:
tasklist /fi "imagename eq svchost.exe" /v | findstr "PID Handles"

运行完上述命令后,记录ESTABLISHED连接数、TIME_WAIT数量及最高句柄占用进程,即可定位是端口、句柄还是连接跟踪表率先见顶。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

1000

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3632

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1176

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

1049

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

554

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

3356

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

6372

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

967

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习