nodejs表示windows max connections设置

时间:2016-11-27 18:28:09

标签: node.js windows express limit connection

在Windows 10中哪里设置nodejs的最大连接(用于表达'get)?它与linux中的max files(descriptors)设置有关吗?是否有该设置的Windows版本?最好是nodejs中的设置,以便在迁移到unix时能够兼容吗?

我怀疑loadtest模块因为这个设置而产生错误,当超过2000个并发连接攻击我使用express的服务器程序并保持队列中的连接以便稍后处理时。 Loadtest通常完成200个并发连接(命令行中为-c 200)。此外,当我不保持队列中的连接并且get中的操作很简单("response.end('hello world')")时,它不会给-c 2000带来错误,也许它会在其他启动之前完成工作所以它的真的不是2000并发,只有排队版有2000并发吗?

我没有使用http模块,但我正在处理来自服务器端express module的{​​{1}}函数的客户端发送的xlmhttprequest。

也许桌面版windows os不是用服务器应用程序开发的,所以它没有最大连接设置,最大文件访问和相关变量已经硬编码了吗?

1 个答案:

答案 0 :(得分:1)

要回答问题的一部分,对于最大打开文件,有_setmaxstdio,请参阅:

也许你可以写一个改变它的包装器并启动你的Node程序。

关于max open connections的一般问题,这是我发现的一些旧版Windows:

它谈到改变配置:

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]

TcpNumConnections = 0x00fffffe(默认值= 16,777,214)

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]

MaxUserPort = 5000(默认值= 5000,最大值= 65534)

另请参阅上述链接中的其他相关参数。我不知道配置值的名称是否在更新版本的Windows中发生了变化,但如果增加打开文件限制是不够的话,我会搜索HKEY_LOCAL_MACHINE System CurrentControlSet Services Tcpip Parameters

进行比较,here is how I increase the number of concurrent Node/Express connection in Linux