使用mean.io
堆栈,我遇到以下问题:
在使用Apache bench进行测试时,我发现简单查询创建了阻塞操作
var mongoose = require('mongoose'),
async = require('async'),
Post = mongoose.model('Post');
exports.index = function(req, res) {
Post.find({deleted:false}, function(err, posts) {
if (err) {
res.jsonp(err);
} else {
res.jsonp(posts);
}
});
};
ab -n 1 -c 1 http:// localhost:3000 / home> 测试时间:0.006秒
ab -n 10 -c 10 http:// localhost:3000 / home> 测试时间:0.032秒
ab -n 100 -c 100 http:// localhost:3000 / home> 测试时间:0.224秒
我是否正确使用回调,可能是什么问题?
答案 0 :(得分:0)
MongoDB查询的并发性仅限于连接池的大小,默认情况下只有5个。
您可以在mongoose.connect
来电中进行调整,然后将其设置为100,以消除此作为基准测试的瓶颈:
mongoose.connect('mongodb://localhost/test', {server: {poolSize: 100}}, cback);