我做了以下尝试,使用benchrun
插入文档:
> use benchmark
switched to db benchmark
> db.createCollection("bench")
{ "ok" : 1 }
> ops = [{op: "insert", ns: "db.bench", safe: false, doc: {"a": 1}}]
.....
> benchRun({parallel: 8, seconds: 10, ops: ops})
{
"note" : "values per second",
"errCount" : NumberLong(0),
"trapped" : "error: not implemented",
"insertLatencyAverageMicros" : 4.349606891531182,
"insert" : 41210,
"query" : 0,
"update" : 0,
"delete" : 0,
"getmore" : 0,
"command" : 413
}
> db.bench.find()
>
Benchrun没有报告任何错误,但到最后,该系列中没有找到任何文件。
他们去哪儿了?
答案 0 :(得分:0)
在ops
变量中,您将命名空间指定为ns: "db.bench"
。这将插入名为db
的数据库和名为bench
的集合。
您应该能够找到插入的记录:
db.getSiblingDB('db').bench.find()
要输出到您期望的集合,您的命名空间应为“benchmark.bench”:
ops = [{op: "insert", ns: "benchmark.bench", safe: false, doc: {"a": 1}}]
此外,没有必要在createCollection()
之前运行benchRun()
。如果该集合不存在,则将创建该集合。根据您要观察的内容,您可能希望在调用benchmark
之前删除bench
数据库或benchRun()
集合。