增加 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