增加最大 TCP/IP 可用端口数

时间:2021-12-21 15:38:32

Windows 平台下缺省的限制是 5000 个。我们可以运行 "netstat -a" 命令观察使用的端口,如果你观察到的最大的数字是 5000,那末你需要增加最大可用端口数。打开注册表 KEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters,创建一个新的名字叫 MaxUserPort 的 dWord,并且设置它的值,MaxUserPort 确定从系统请求任何可用用户端口时所用最大端口数,TCP/IP 可指定的最高端口号。如果建立 TCP 连接最大端口连接大于 5000,本地计算机响应以下错误信息 WSAENOBUFS (10055): 因为系统缺乏足够缓冲区或者因为队列已满而无法执行套接字上操作,从而导致应用程序的 10048 错误。我们可以设置为 60000。


Linux 平台对于每个进程能打开的最大文件句柄数(其中也包括 Socket 连接数)有限制(缺省为不超过 1024)。对于一般的应用程序和系统服务来说,足够用了。但是对于 RPT 这种需要在单进程内为模拟大量虚拟用户而建立大量网络连接的应用来说就不一定够了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会在控制台上打出“too many files open”的错误提示。要改变这个缺省值,用 root 登陆,输入 ulimit -n 30000(或者其他合适的值 ),然后重新启动 RPT 工作台。