有人可以解释如何使用 request.js 池哈希吗?
github的注释是关于池的:
pool - 包含这些请求的代理的哈希对象。如果省略,此请求将使用设置为节点默认 maxSockets 的全局池。
pool.maxSockets - 包含池中最大套接字数量的整数。
我有这个用于写入 CouchDB 实例的代码(注意问号)。基本上,任何连接到我的节点服务器的用户都将相互独立地写入数据库:
var request = require('request');
request({
//pool:, // ??????????????????
'pool.maxSockets' : 100, // ??????????????????
'method' : 'PUT',
'timeout' : 4000,
'strictSSL' : true,
'auth' : {
'username' : myUsername,
'password' : myPassword
},
'headers' : {
'Content-Type': 'application/json;charset=utf-8',
'Content-Length': myData.length
},
'json' : myData,
'url': myURL
}, function (error, response, body){
if (error == null) {
log('Success: ' + body);
}
else {
log('Error: ' + error);
}
});
什么最适合高吞吐量/性能?
高“maxSockets”数的缺点是什么?
如何创建一个单独的池来使用而不是全局池?为什么我只想创建一个单独的池?