【发布时间】:2013-12-10 18:03:02
【问题描述】:
我有一个 http 服务器,每次它收到一个 post 请求时,它都应该将数据插入 MongoDB。该服务器应该在任何给定的秒内持续运行并接受数千个请求。
如何最大限度地提高代码的效率和速度?我觉得我当前的代码速度不够快,而且每次收到请求时都会创建一个新的数据库,而且会浪费 CPU 资源。
我当前的布局
var server = http.createServer(function (req, res) {
req.on('data', function(chunk) {
//Receive my data
});
req.on('end', function() {
//JSON parse my data
var db = new Db('test', new Server("111.111.11.111", 27017,{auto_reconnect: false}), {safe: true});
db.open(function(err, db) {
//Insert data into DB
db.close();
});
});
}); //End Http server
server.listen(8999);
我尝试用 MongoClient.connect 替换 db.open,但这会大大减慢处理速度,我不知道为什么。在这种情况下,用于 node js 的旧版本的 MongoDB Native 似乎工作得更快。
【问题讨论】:
-
只需创建一次数据库连接并重复使用它。它旨在重复使用。