在Windows 10中,为nodejs设置最大连接(在express中使用get
)? 它与Linux中的最大文件(描述符)设置有关吗? 有一个Windows版本的设置? 最好在nodejs中的一个设置,以便它迁移到UNIX时兼容?
我怀疑loadtest模块给出错误,因为这个设置超过2000个并发连接攻击我的服务器程序,使用快速和保持队列中的连接稍后处理。 负载testing正常完成200个并发连接(-c 200在命令行中)。 另外,当我不保持队列中的连接,如果get
操作很简单( "response.end('hello world')"
),它不会给-c 2000错误,也许它会在其他启动之前完成工作所以它真的不是2000个并发,只有排队的版本有2000个并发?
我没有使用http模块,但我正在处理xlmhttprequest从客户端发送到服务器端express module
的get
函数。
也许桌面版本的Windows操作系统没有开发与服务器应用程序的思想,所以它没有设置最大连接,最大文件访问和相关variables已被硬编码在它?
要回答你的问题的一部分,对于最大打开的文件有_setmaxstdio
,请参阅:
也许你可以写一个包装器来改变它,并启动你的Node程序。
至于最大打开连接的一般问题,这是我发现一些较旧的Windows:
它谈到改变配置:
[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]
TcpNumConnections = 0x00fffffe(默认= 16777214)
[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]
MaxUserPort = 5000(默认= 5000,最大= 65534)
请参阅上述链接中的其他相关参数。 我不知道如果配置值的名称在更新版本的Windows中更改,但HKEY_LOCAL_MACHINE System CurrentControlSet Services Tcpip Parameters
是我会搜索,如果增加打开的文件限制是不够的。
为了比较, 这里是我如何增加Linux中并发的Node / Express连接数 。