gpt4 book ai didi

Node.js、集群、express、apache ab 和 mongodb

转载 作者:太空宇宙 更新时间:2023-11-03 22:39:20 24 4
gpt4 key购买 nike

我是 mongo 新手,并且使用 Node.js (v0.4.12)、集群 (Learnboost v0.7.7) 和express (v2.5.9) 设置了一些性能测试。我正在尝试连接到 mongo 并使用 apache ab 进行简单的性能测试。我已经使用 MySql 进行了设置,并且它运行完美,但是当我尝试使用 mongo 进行相同的测试时,我没有得到我期望的结果。

使用 MySql,我向 node.js 集群(8 个核心)发送 10,000 个请求,并将 10,000 行插入到数据库中。没有问题。但是,当我对 mongo 做同样的事情时,我只得到 4,500-4,900 左右。我尝试过 mongoskin、mongo-lite、node-mongodb-native,结果都完全相同。

我想可能是池大小的问题,所以我增加/减少了它。没有什么。没有错误或异常。我迷茫了...

如有任何帮助,我们将不胜感激。

谢谢。

测试代码如下;

app.js

var mongoLite = require('mongo-lite');
var express = require('express');

var count = 1;
var config = {
host : 'localhost',
user : USER,
pass : PASSWORD,
port : '27017',
db : 'test',
options : 'poolSize=10'
};

var configUrl = 'mongodb://' +
config.user + ':' +
config.pass + '@' +
config.host + ':' +
config.port + '/' +
config.db;


var mongo = mongoLite.connect(configUrl);
var server = express.createServer();

server.get('/test/:id', function (req, res) {
mongo.collection('test_' + req.params.id).insert({_id: count++}, function(err, doc){
if (err)
throw err;
});
res.end('inserted');
});

module.exports = server;

服务器.js

var cluster = require('cluster');

cluster('./app')
.use(cluster.reload())
.use(cluster.logger('logs'))
.use(cluster.stats())
.use(cluster.pidfiles('pids'))
.use(cluster.cli())
.use(cluster.repl(8888))
.listen(81);

最佳答案

我在使用 apache ab 时遇到了这些问题。我的结论是,它在 Node 上触发请求的速度比处理请求的速度快,因为如果某些请求根本没有得到处理。

我编写了自己的基准测试来在 Java 中进行 http 连接作为解决方法

关于Node.js、集群、express、apache ab 和 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com