MongoDB基准插入

问题描述 投票:0回答:1

我正在尝试使用JS工具对MongoDB进行基准测试。我正在尝试插入。给定示例in mongo website

但是,我正在尝试执行插入操作,该操作完全正常,但是每秒发出错误的查询。

ops = [{op: "insert", ns: "benchmark.bench", safe: false, doc: {"a": 1}}]

以上工作正常。然后,我在mongo shell中运行了以下命令:

for ( x = 1; x<=128; x*=2){
    res = benchRun( { parallel : x ,
                      seconds : 5 ,
                      ops : ops
                    } )
    print( "threads: " + x + "\t queries/sec: " + res.query )
}

它发出:

threads: 1   queries/sec: 0
threads: 2   queries/sec: 0
threads: 4   queries/sec: 0
threads: 8   queries/sec: 0
threads: 16  queries/sec: 0
threads: 32  queries/sec: 1.4
threads: 64  queries/sec: 0
threads: 128     queries/sec: 0

我不明白为什么查询/秒为0,而没有插入单个文档。这是测试刀片的性能吗?

mongodb performance performance-testing database-performance nosql
1个回答
0
投票

正在回答,因为我刚遇到类似的问题。

尝试用printjson(res)替换打印语句。您将看到res具有以下字段:

{
    "note" : "values per second",
    "errCount" : NumberLong(0),
    "trapped" : "error: not implemented",
    "insertLatencyAverageMicros" : 8.173300153139357,
    "totalOps" : NumberLong(130600),
    "totalOps/s" : 25366.173139864142,
    "findOne" : 0,
    "insert" : 25366.173139864142,
    "delete" : 0,
    "update" : 0,
    "query" : 0,
    "command" : 0
}

如您所见,查询计数为0,因此当您打印res.query时,它的值为0。要获得每秒的插入操作数,您需要打印res.insert。我相信res.query对应于“查找”操作。

© www.soinside.com 2019 - 2024. All rights reserved.