所以,我试图优化我的节点应用程序,并且我的应用程序发出HTTP和HTTPS请求。Nodejs最大套接字池设置
从这篇文章从LinkedIn制作节点之快,建议禁用套接字池,除去5个插座的极限:
// Disable socket pooling
var http = require('http');
var options = {.....};
options.agent = false;
var req = http.request(options)
现在从GitHub上Mikeal(请求的开发者),他建议:
require('http').globalAgent.maxSockets = Infinity
公平地说,他并不是建议无穷大,但是你可以在那里提出任何合理的价值。现在
,我的应用程序使用HTTP和HTTPS,所以我用这个代码:
var http = require('http');
http.globalAgent.maxSockets = 30;
var https = require('https');
https.globalAgent.maxSockets = 30;
当我这样做,我得到这个错误:
TypeError: Cannot set property 'maxSockets' of undefined
最后,在查看HTTP记录它不显示“globalAgent”,而只显示agent.maxSockets。
所以,我想知道第一,重写此参数的最佳语法是什么?
二,什么是最优值?它是基于我的服务器的内存量吗?它的带宽?
当我升级到Node.js v0.10.24时,我不再看到以下错误:TypeError:无法设置未定义的属性'maxSockets' – 2014-03-17 18:01:21
请注意,Node 0.12将默认的'maxSockets'值更改为'Infinity':http://stackoverflow.com/a/12061013/504930 – devius 2015-10-06 14:59:25