增加 maxSockets
基本
require('http').globalAgent.maxSockets = 25
// You can change 25 to Infinity or to a different value by experimenting
Node.js 預設情況下同時使用 maxSockets = Infinity
(自 v0.12.0 起 )。在 Node v0.12.0 之前,預設值為 maxSockets = 5
(參見 v0.11.0 )。因此,在超過 5 個請求後,它們將排隊。如果要併發,請增加此數量。
設定自己的代理
http
API 正在使用 “ 全域性代理 ” 。你可以提供自己的代理商。像這樣:
const http = require('http')
const myGloriousAgent = new http.Agent({ keepAlive: true })
myGloriousAgent.maxSockets = Infinity
http.request({ ..., agent: myGloriousAgent }, ...)
完全關閉 Socket Pooling
const http = require('http')
const options = {.....}
options.agent = false
const request = http.request(options)
陷阱
-
如果你想要相同的效果,你應該為
https
API 做同樣的事情 -
請注意,例如, AWS 將使用 50 而不是
Infinity
。