mirror of https://github.com/mongodb/mongo
53 lines
938 B
JavaScript
53 lines
938 B
JavaScript
|
|
/**
|
|
* @tags: [
|
|
* uses_multiple_connections,
|
|
* ]
|
|
*/
|
|
t = db.bench_test2;
|
|
t.drop();
|
|
|
|
for (i = 0; i < 100; i++)
|
|
t.insert({_id: i, x: 0});
|
|
|
|
benchArgs = {
|
|
ops: [{
|
|
ns: t.getFullName(),
|
|
op: "update",
|
|
query: {_id: {"#RAND_INT": [0, 100]}},
|
|
update: {$inc: {x: 1}}
|
|
}],
|
|
parallel: 2,
|
|
seconds: 1,
|
|
host: db.getMongo().host
|
|
};
|
|
|
|
if (jsTest.options().auth) {
|
|
benchArgs['db'] = 'admin';
|
|
benchArgs['username'] = jsTest.options().authUser;
|
|
benchArgs['password'] = jsTest.options().authPassword;
|
|
}
|
|
|
|
res = benchRun(benchArgs);
|
|
printjson(res);
|
|
|
|
sumsq = 0;
|
|
sum = 0;
|
|
|
|
min = 1000;
|
|
max = 0;
|
|
t.find().forEach(function(z) {
|
|
sum += z.x;
|
|
sumsq += Math.pow((res.update / 100) - z.x, 2);
|
|
min = Math.min(z.x, min);
|
|
max = Math.max(z.x, max);
|
|
});
|
|
|
|
avg = sum / 100;
|
|
std = Math.sqrt(sumsq / 100);
|
|
|
|
print("Avg: " + avg);
|
|
print("Std: " + std);
|
|
print("Min: " + min);
|
|
print("Max: " + max);
|