summaryrefslogtreecommitdiff
path: root/jstests/bench_test2.js
blob: e2057ac693e4080a7f0d0f52213ad05f6fddf18e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

t = db.bench_test2
t.drop();

for ( i=0; i<100; i++ )
    t.insert( { _id : i , x : 0 } );
db.getLastError();

benchArgs = { ops : [ { ns : t.getFullName() ,
                        op : "update" ,
                        query : { _id : { "#RAND_INT" : [ 0 , 100 ] } } ,
                        update : { $inc : { x : 1 } } } ] ,
              parallel : 2 ,
              seconds : 1 ,
              totals : true ,
              host : db.getMongo().host }

if (jsTest.options().auth) {
    benchArgs['db'] = 'admin';
    benchArgs['username'] = jsTest.options().adminUser;
    benchArgs['password'] = jsTest.options().adminPassword;
}

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 )