优化网络,提升Win长时间自动化稳定性

  • 在电脑上长时间跑自动化任务,有可能会出现 "Failed to establish a new connection: [WinError 10048]" 通常每个套接字地址(协议/网络地址/端口)只允许使用一次的提示。

  • 可以修改注册表项,要提升电脑的网络性能。

  • 使用regedit命令访问HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TCPIP/Parameters注册表子键并创建名为TcpTimedWaitDelay的新REG_DWORD值。将此值设置为十进制30,其为十六进制0x0000001e。该值将等待时间设置为30秒。

  • 使用regedit命令访问HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/TCPIP/Parameters注册表子键并创建名为MaxUserPort的新REG_DWORD值。停止并重新启动系统。缺省值:无; 建议值:至少十进制 32768。

  • 不知道怎么打开注册表的用户,可以直接新建一个TXT文档,把下面内容写入其中保存,再改这个新建的文件名为Tcpip.reg ,双击导入注册表即可:

  • Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
    "TcpTimedWaitDelay"=dword:0000001e
    "MaxUserPort"=dword:00008000

  • 当在调用接口时,使用命令行工具netstat -n发现有将近4000个到运行接口的目标计算机的IP地址的连接处于TIME_WAIT状态,则可以增加默认MaxUserPort设置并同时降低TcpTimedWaitDelay设置,以便不会用尽客户端匿名端口。例如,您可以将MaxUserPort设置为20000,将TcpTimedWaitDelay设置为30。

  • 较低的 TcpTimedWaitDelay 设置意味着套接字在TIME_WAIT状态中等待的时间更短。较高的 MaxUserPort 设置意味着您可以让更多的套接字处于 TIME_WAIT 状态。

  • 为了保证客户端稳定性,可以在一段时间内重启客户端。

  • 调用本地端口API,GET请求这个地址(无请求参数),就可以重启并自动登陆VMLogin客户端

  • http://127.0.0.1:35000/api/v1/client/restart