Skip to content

Kundera Mongo performance 2.0.5

xamry edited this page Oct 29, 2012 · 2 revisions

Recently we did performance test(over mongoDB) over Kundera-2.0.5. So here are details (given below) :

Release: 2.0.5

  • Enviornment: Amazon AWS ubuntu large instance (ami-09965860).

Bulk Load:

Number Of Records(Single Thread) Native API Time (in ms) SpringData Time (in ms) Morphia (in ms) Kundera (in ms)
1 27 9 31 36
1000 271 527 628 439
4000 783 1511 2061 1341
40000 2579 3882 9623 4626
100000 4051 6452 18089 6455
1000000 33864 38169 161793 37438

Concurrent Load:

Number Of Threads (1 record) Native API Time (in ms) SpringData Time (in ms) Morphia (in ms) Kundera (in ms)
10 37 20 50 45
100 109 118 138 118
1000 501 829 1082 676
10000 4099 4859 6583 5065
40000 11572 13268 16373 13559
50000 13604 15844 19822 16238
100000 24755 28932 35576 29129

Concurrent Load + Bulk Load:

Number Of Threads (1000 rec/ thread) Native API Time (in ms) SpringData Time (in ms) Morphia (in ms) Kundera (in ms)
10 1117 2195 3677 2093
100 3706 6002 19177 6970
1000 28401 31415 156349 41367

Source Code: Source code for producing these results is available here.

Steps to run:

  1. Download jar.
  2. java -jar {Number of records} {client type} {process mode} { number of threads} -Xmx1024m -XX:MaxPermSize=128m (e.g. java -jar /home/impadmin/workspace/kundera-2.0.5-perf.jar 1 pelops b -Xmx1024m -XX:MaxPermSize=128m

{client type} => 1) kunderaMongo 2) springData 3) NativeMongoAPI 4) morphia {process mode} => 1)c(Cnoncurrent) 2) b(Bulk) 3)cb(Concurrent+Bulk)

Disclaimer:

Above mentioned results are on the specified environment and use case and might have different outcome in other cases

Clone this wiki locally