我有一个节点js express app。我的应用程序中的一个端点充当外部Web服务的代理。当直接针对外部服务运行每秒2000个用户的压力测试时,响应时间仅为50毫秒。但是,当对我的端点运行相同的测试时,响应时间约为3秒。这很奇怪,因为在针对空端点测试我的应用时,只需立即返回200,平均响应时间约为150毫秒。
基本上我只使用request module,而我所做的只是将请求转发给外部服务。我尝试使用http模块的maxSockets参数,但没有结果。这是我的设置:
var http = require('http');
http.globalAgent.maxSockets = 1000;
var request = require('request');
var options = {
uri: params.SERVICE_URL,
method: 'POST',
headers: { 'content-type' : 'application/json' },
json: bodyOfRequest
};
request(options, function (error, response, body) {
// return response to client
}
此外,我将代码作为Azure中的Web应用程序运行。