Skip to content

Instantly share code, notes, and snippets.

@jmikola
Created May 29, 2012 18:19
Show Gist options
  • Save jmikola/2829859 to your computer and use it in GitHub Desktop.
Save jmikola/2829859 to your computer and use it in GitHub Desktop.
Mongo indexing benchmark
<?php
$m = new Mongo();
$c = $m->test->foo;
$c->drop();
$a = microtime(true);
foreach (range(1,1000000) as $i) {
$c->insert(array('x' => $i));
}
printf("Insertion took %f seconds\n", microtime(true) - $a);
$options = array(
array(),
array('background' => true),
array('safe' => true),
array('background' => true, 'safe' => true),
);
foreach ($options as $o) {
$c->deleteIndexes();
$a = microtime(true);
$c->ensureIndex(array('x' => 1), $o);
printf("Indexing with %s took %f seconds\n", json_encode($o), microtime(true) - $a);
}
@jmikola
Copy link
Author

jmikola commented May 29, 2012

Console output:

$ php benchmark.php
Insertion took 17.095013 seconds
Indexing with [] took 0.000175 seconds
Indexing with {"background":true} took 0.000159 seconds
Indexing with {"safe":true} took 1.649953 seconds
Indexing with {"background":true,"safe":true} took 3.877397 seconds

mongostat output:

[avocado: ~] $ mongostat
connected to: 127.0.0.1
insert  query update delete getmore command flushes mapped  vsize    res faults locked % idx miss %     qr|qw   ar|aw  netIn netOut  conn       time 
     0      0      0      0       0       1       0  18.3g  36.8g   248m      0        0          0       0|0     0|0    62b     1k     3   14:20:27 
 53765      0      0      0       0       4       0  18.3g  36.8g   241m      0     63.5          0       0|0     0|1     3m     1k     4   14:20:28 
 71842      0      0      0       0       1       0  18.3g  36.8g   242m      0     79.2          0       0|0     0|0     4m     1k     4   14:20:29 
 60559      0      0      0       0       1       0  18.3g  36.8g   241m      0     81.8          0       0|0     0|1     3m     1k     4   14:20:30 
 67284      0      0      0       0       1       0  18.3g  36.8g   242m      0     77.4          0       1|0     0|1     3m     1k     4   14:20:31 
 67628      0      0      0       0       1       0  18.3g  36.8g   241m      0     84.3          0       0|0     0|1     3m     1k     4   14:20:32 
 63599      0      0      0       0       1       0  18.3g  36.8g   241m      0       80          0       0|0     0|1     3m     1k     4   14:20:33 
 55652      0      0      0       0       1       0  18.3g  36.8g   241m      0     82.9          0       0|0     0|1     3m     1k     4   14:20:34 
 64981      0      0      0       0       1       0  18.3g  36.8g   241m      0     80.2          0       0|0     0|1     3m     1k     4   14:20:35 
 77278      0      0      0       0       1       0  18.3g  36.8g   241m      0     78.4          0       0|0     0|1     4m     1k     4   14:20:36 
 65200      0      0      0       0       1       0  18.3g  36.8g   241m      0     78.9          0       0|1     0|1     3m     1k     4   14:20:37 
 62671      0      0      0       0       1       0  18.3g  36.8g   242m      0     81.4          0       0|0     0|1     3m     1k     4   14:20:38 
 60629      0      0      0       0       1       0  18.3g  36.8g   241m      0     76.6          0       0|0     0|0     3m     1k     4   14:20:39 
 61319      0      0      0       0       1       0  18.3g  36.8g   242m      0     80.7          0       0|0     0|1     3m     1k     4   14:20:40 
 59150      0      0      0       0       1       0  18.3g  36.8g   241m      0     82.1          0       0|0     0|1     3m     1k     4   14:20:41 
 68251      0      0      0       0       1       0  18.3g  36.8g   241m      0     79.5          0       0|0     0|1     3m     1k     4   14:20:42 
 40192      0      0      0       0       2       0  18.3g  36.9g   293m      0     54.1          0       0|0     0|1     2m     1k     4   14:20:43 
     0      0      0      0       0       1       0  18.3g  36.9g   350m      0        0          0       0|1     0|1    62b     1k     4   14:20:44 
     1      0      0      0       0       2       0  18.3g  36.8g   313m      0      226          0       0|0     0|1   251b     1k     4   14:20:45 
     0      0      0      0       0       1       0  18.3g  36.8g   242m      0      101          0       0|0     0|1    62b     1k     4   14:20:46 
     0      0      0      0       0       1       0  18.3g  36.8g   242m      0       14          0       0|0     0|1    62b     1k     4   14:20:47 
     0      0      0      0       0       1       0  18.3g  36.8g   244m      0      187          0       0|0     0|1    62b     1k     4   14:20:48 
     1      0      0      0       0       2       0  18.3g  36.9g   286m      0     76.5          0       1|0     0|1   264b     1k     4   14:20:49 
     0      0      0      0       0       1       0  18.3g  36.9g   346m      0        0          0       1|0     0|1    62b     1k     4   14:20:50 
     1      0      0      0       0       3       0  18.3g  36.8g   242m      0      215          0       0|0     0|1   312b     1k     4   14:20:51 
     0      0      0      0       0       1       0  18.3g  36.8g   242m      0     75.5          0       0|0     0|1    62b     1k     4   14:20:52 
     0      0      0      0       0       1       0  18.3g  36.8g   242m      0      125          0       0|0     0|1    62b     1k     4   14:20:53 
     0      0      0      0       0       1       0  18.3g  36.8g   242m      0     99.3          0       0|0     0|1    62b     1k     4   14:20:54 
     1      0      0      0       0       2       0  18.3g  36.8g   242m      0     42.9          0       0|0     0|0   246b     1k     3   14:20:55 
     0      0      0      0       0       1       0  18.3g  36.8g   242m      0        0          0       0|0     0|0    62b     1k     3   14:20:56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment