我尝试使用request
库对Node.js express app进行基准测试:
var request = require('request');
var totalRequests = 100000;
for(var i = 0; i < totalRequests; i++) {
(function(i) {
request('http://localhost:3000/', function(error, response, body) {
console.info('Request ' + (i + 1));
});
})(i);
}
当我运行它时,我没有看到请求超过40秒的console.info()
请求回调,然后它们就开始了。我是否应该立即看到请求?
答案 0 :(得分:0)
40秒可能是准备100,000个请求所需的时间。由于您要同步循环,因此在所有请求都已启动之前,您的回调无法被调用。
如果您打算以串联方式而不是并行方式提出部分或全部请求,我建议使用类似async的库。