Node JS how to limit maximum number of sockets

我只是一个虾纸丫 提交于 2021-01-29 05:13:34

问题


is it possibile to set the maximum number of sockets that my server can handle? Something like: maxSocket = 2 and from the 3 attempt of a socket to connect automatically refuse that connection?

Thanks


回答1:


In Node.js, you can set the maximum number of connections per origin. If maxSockets is set, the low-level HTTP client queues requests and assigns them to sockets as they become available.

Ref URL from AWS JS SDK

According to Node.js Doc,

By default set to Infinity. Determines how many concurrent sockets the agent can have open per origin. Origin is either a 'host:port' or 'host:port:localAddress' combination.

Conventionally, they recommend 25~50, I guess.




回答2:


The default maxSockets value is Infinity and it determines the limit of number of sockets per host. See official docs: https://nodejs.org/api/http.html#http_agent_maxsockets

You can manually set maxSockets limit using the following code snippet

require('http').globalAgent.maxSockets = 10

globalAgent: Global instance of Agent which is used as the default for all HTTP client requests.



来源:https://stackoverflow.com/questions/52722540/node-js-how-to-limit-maximum-number-of-sockets

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!