我正在使用Node.js通过HTTP请求查询一些公共API。因此,我正在使用request
模块。我在我的应用程序中测量响应时间,并发现我的应用程序返回API查询结果的速度比通过curl或浏览器进行的"直接"请求慢2-3倍。另外,我注意到连接到启用HTTPS的服务通常比纯HTTP连接需要更长的时间,但这可能是巧合。
我尝试优化了request
选项,但没有成功。例如,我查询
https://www.linkedin.com/countserv/count/share?url=http%3A%2F%2Fwww.google.com%2F&lang=en_US
我正在使用request.defaults
设置所有请求的默认值:
var baseRequest = request.defaults({
pool: {maxSockets: Infinity},
jar: true,
json: true,
timeout: 5000,
gzip: true,
headers: {
'Content-Type': 'application/json'
}
});
实际的请求是通过
...
var start = new Date().getTime();
var options = {
url: 'https://www.linkedin.com/countserv/count/share?url=http%3A%2F%2Fwww.google.com%2F&lang=en_US',
method: 'GET'
};
baseRequest(options, function(error, response, body) {
if (error) {
console.log(error);
} else {
console.log((new Date().getTime()-start) + ": " + response.statusCode);
}
});
有人看到优化潜力吗?我做错了什么吗?提前感谢任何建议!