Hi Michael,
Here are the performance results I collected this afternoon.
mvn test -Dtest=TestIndexedStore -Dkrati.test.jvm.args="-Xloggc:target/
logs/krati.gc -XX:+PrintGCDetails" -Dkrati.test.initLevel=8 -
Dkrati.test.keyCount=5000000 -Dkrati.test.segFileSizeMB=256 -
Dkrati.test.runTimeSeconds=3600
>>> ========================================================
>>> BEGIN TestIndexedStore
>>> populate
elapsedTime=246752 ms
writeCount=5000000 rate=20.26 per ms
>>> read only
Reader 0 started
Reader 1 started
Reader 2 started
Reader 3 started
elapsedTime=10001 ms
readCount[0]=2267934 rate=226.77 per ms
readCount[1]=2311932 rate=231.17 per ms
readCount[2]=2259143 rate=225.89 per ms
readCount[3]=2319399 rate=231.92 per ms
Total Read Rate=915.75 per ms
>>> write only
Writer 0 started
writeCount=299999
writeCount=280000
writeCount=280000
writeCount=190000
writeCount=221859
writeCount=261161
writeCount=261483
writeCount=260948
writeCount=274549
writeCount=248470
writeCount=261513
writeCount=240017
writeCount=199406
writeCount=205789
writeCount=212609
writeCount=274007
writeCount=217233
writeCount=260119
writeCount=230837
writeCount=80000
writeCount=270000
writeCount=288052
writeCount=177043
writeCount=274905
writeCount=262364
writeCount=257492
writeCount=240144
writeCount=320000
writeCount=270000
writeCount=160000
writeCount=239823
writeCount=244811
writeCount=231413
writeCount=243953
writeCount=280000
writeCount=160000
writeCount=210686
writeCount=249314
writeCount=263891
writeCount=304516
writeCount=290379
writeCount=181853
writeCount=259361
writeCount=290000
writeCount=160000
writeCount=290000
writeCount=310000
writeCount=295421
writeCount=214579
writeCount=266394
writeCount=283606
writeCount=310000
writeCount=170000
writeCount=300000
writeCount=306528
writeCount=233472
writeCount=219026
writeCount=270974
writeCount=310000
writeCount=246758
writeCount=273242
writeCount=295773
writeCount=260863
writeCount=230518
writeCount=262846
writeCount=290000
writeCount=229259
writeCount=230741
writeCount=270000
writeCount=262307
writeCount=232701
writeCount=304992
writeCount=300000
writeCount=243234
writeCount=216766
writeCount=295517
writeCount=304483
writeCount=240279
writeCount=261675
writeCount=288046
writeCount=280000
writeCount=200000
writeCount=270000
writeCount=317545
writeCount=284806
writeCount=253247
writeCount=244402
writeCount=290000
writeCount=310000
writeCount=189156
writeCount=260844
writeCount=280000
writeCount=240000
writeCount=230000
writeCount=290000
writeCount=297755
writeCount=268353
writeCount=242979
writeCount=290714
writeCount=270199
writeCount=212713
writeCount=277287
writeCount=289697
writeCount=297528
writeCount=188927
writeCount=263127
writeCount=260019
writeCount=250702
writeCount=260000
writeCount=310000
writeCount=263491
writeCount=196509
writeCount=309417
writeCount=299097
writeCount=223476
writeCount=228353
writeCount=279657
writeCount=260000
writeCount=200000
writeCount=300000
elapsedTime=1206652 ms
writeCount[0]=30690000 rate=25.43 per ms
Total Write Rate=25.43 per ms
>>> validate
Quit: running time is over 60000 ms
Validated 3531444/5000000 in 60001 ms
OK
>>> read & write
Reader 0 started
Reader 1 started
Reader 2 started
Reader 3 started
Writer 0 started
write=139999 read=6335588
write=173322 read=8232138
write=146678 read=7436175
write=220000 read=8082597
write=120000 read=7571583
write=230000 read=8064708
write=110000 read=7617817
write=226423 read=8108744
write=123577 read=7537376
write=230000 read=8191044
write=110000 read=7488390
write=197370 read=8345290
write=142630 read=7356578
write=211953 read=8278819
write=138047 read=7409775
write=140000 read=8376531
write=170000 read=7367370
write=124395 read=8150683
write=222477 read=7542464
write=133128 read=8242937
write=208860 read=7448167
write=141140 read=8082238
write=220000 read=7590470
write=141913 read=8406680
write=188087 read=7292202
write=140000 read=8273652
write=154964 read=7469064
write=185036 read=7962731
write=180000 read=7700760
write=180000 read=8021117
write=138240 read=7683501
write=201760 read=8088715
write=117869 read=7611752
write=222131 read=8049027
write=110000 read=7623323
write=230000 read=8086585
write=110000 read=7599774
write=198852 read=8247870
write=141148 read=7457392
write=186916 read=8365178
write=163084 read=7322300
write=196101 read=8254397
write=145087 read=7425291
write=158812 read=8128397
write=180000 read=7577147
write=130943 read=8193001
write=211589 read=7510349
write=140912 read=8159017
write=216556 read=7489935
write=120000 read=8097675
write=210000 read=7615326
write=150000 read=8362542
write=198773 read=7292786
write=131227 read=8002372
write=150000 read=7747755
write=172411 read=8128659
write=120891 read=7619038
write=206698 read=8111171
write=130000 read=7589288
write=230000 read=8332814
write=118906 read=7358308
write=227423 read=8350933
write=113671 read=7344156
write=209894 read=8367891
write=120106 read=7333082
write=187736 read=8231574
write=152264 read=7438855
write=196506 read=8073386
write=163494 read=7555889
write=156609 read=8330240
write=173594 read=7377330
write=123517 read=8243703
write=216280 read=7477269
write=126540 read=8128438
write=223460 read=7577273
write=117383 read=8085430
write=182617 read=7662228
write=162645 read=8531583
write=149195 read=7161558
write=198160 read=8589872
write=157538 read=7077855
write=181718 read=8543153
write=110744 read=7228329
write=220000 read=8441069
write=95480 read=7314994
write=214520 read=8464773
write=130000 read=7239678
write=201158 read=8117997
write=138842 read=7589975
write=180563 read=8115470
write=169437 read=7567151
write=198598 read=8128803
write=159505 read=7512345
write=132164 read=8321637
write=187382 read=7391981
write=122351 read=8205421
write=210000 read=7488648
write=146390 read=8049055
write=222587 read=7640004
write=141023 read=8545153
write=215141 read=7130610
write=134859 read=8536757
write=190000 read=7178855
write=140000 read=8262735
write=165439 read=7459730
write=174561 read=8245767
write=175008 read=7405539
write=183899 read=8131016
write=139160 read=7573382
write=191933 read=7943085
write=120000 read=7776086
write=210000 read=8120142
write=110000 read=7575233
write=213563 read=8182271
write=124999 read=7539808
write=181809 read=8179299
write=149629 read=7522652
write=186737 read=8072598
write=173264 read=7596244
write=197516 read=8279740
elapsedTime=1237831 ms
writeCount[0]=20087526 rate=16.23 per ms
Total Write Rate=16.23 per ms
readCount[0]=235737800 rate=190.44
readCount[1]=235944823 rate=190.61
readCount[2]=234264235 rate=189.25
readCount[3]=234723320 rate=189.62
Total Read Rate=759.92 per ms
writer latency stats:
1,1
5,0
10,1988546
50,18068975
100,1343
200,304
300,3391
400,2072
500,31
600,7
700,3
800,1
900,0
1000,0
1+ms,22852
reader latency stats:
1,630
5,235498069
10,194982
50,43684
100,8
200,0
300,1
400,0
500,0
600,0
700,0
800,0
900,0
1000,0
1+ms,426
mvn test -Dtest=TestIndexedStoreWriteBuffer -Dkrati.test.jvm.args="-
Xloggc:target/logs/krati.gc -XX:+PrintGCDetails" -
Dkrati.test.initLevel=8 -Dkrati.test.keyCount=5000000 -
Dkrati.test.segFileSizeMB=256 -Dkrati.test.runTimeSeconds=3600
>>> ========================================================
>>> BEGIN TestIndexedStoreWriteBuffer
>>> populate
elapsedTime=243532 ms
writeCount=5000000 rate=20.53 per ms
>>> read only
Reader 0 started
Reader 1 started
Reader 2 started
Reader 3 started
elapsedTime=10000 ms
readCount[0]=698474 rate=69.85 per ms
readCount[1]=730364 rate=73.04 per ms
readCount[2]=699966 rate=70.0 per ms
readCount[3]=745322 rate=74.53 per ms
Total Read Rate=287.42 per ms
>>> write only
Writer 0 started
writeCount=274710
writeCount=285289
writeCount=266749
writeCount=263251
writeCount=198676
writeCount=244864
writeCount=261290
writeCount=285170
writeCount=299796
writeCount=257570
writeCount=262634
writeCount=252144
writeCount=285393
writeCount=242587
writeCount=254110
writeCount=258529
writeCount=283425
writeCount=203812
writeCount=130000
writeCount=225895
writeCount=289962
writeCount=294143
writeCount=357490
writeCount=365417
writeCount=297093
writeCount=296648
writeCount=323352
writeCount=310000
writeCount=300000
writeCount=304610
writeCount=345390
writeCount=370000
writeCount=360000
writeCount=320000
writeCount=357162
writeCount=333159
writeCount=309679
writeCount=340000
writeCount=310000
writeCount=330076
writeCount=349924
writeCount=350000
writeCount=350000
writeCount=340000
writeCount=336757
writeCount=361346
writeCount=351897
writeCount=330000
writeCount=290000
writeCount=361512
writeCount=344468
writeCount=336946
writeCount=266400
writeCount=300674
writeCount=338773
writeCount=299393
writeCount=341834
writeCount=312352
writeCount=315352
writeCount=356696
writeCount=335367
writeCount=350233
writeCount=306386
writeCount=327404
writeCount=356210
writeCount=341045
writeCount=334632
writeCount=314323
writeCount=343517
writeCount=356483
writeCount=350000
writeCount=320000
writeCount=363170
writeCount=306830
writeCount=317263
writeCount=328974
writeCount=309528
writeCount=334235
writeCount=354095
writeCount=335905
writeCount=349108
writeCount=334256
writeCount=320346
writeCount=339099
writeCount=302912
writeCount=294279
writeCount=300000
writeCount=340773
writeCount=355156
writeCount=344071
writeCount=359777
writeCount=340223
writeCount=340000
writeCount=330000
writeCount=340000
writeCount=348883
writeCount=321117
writeCount=330000
writeCount=346542
writeCount=315753
writeCount=358438
writeCount=321090
writeCount=305977
writeCount=336212
writeCount=334670
writeCount=331318
writeCount=340000
writeCount=356471
writeCount=343529
writeCount=341822
writeCount=348178
writeCount=325979
writeCount=314021
writeCount=326958
writeCount=353027
writeCount=325103
writeCount=321701
writeCount=346143
writeCount=337068
writeCount=352042
elapsedTime=1200047 ms
writeCount[0]=38242046 rate=31.87 per ms
Total Write Rate=31.87 per ms
>>> validate
Quit: running time is over 60000 ms
Validated 2635465/5000000 in 60001 ms
OK
>>> read & write
Reader 0 started
Reader 1 started
Reader 2 started
Reader 3 started
Writer 0 started
write=357953 read=2993861
write=322490 read=3070788
write=315159 read=3133293
write=340985 read=3072041
write=291857 read=3094127
write=333746 read=3050915
write=335763 read=3068028
write=329560 read=3040627
write=310440 read=3049114
write=334184 read=3044211
write=345816 read=3080145
write=340000 read=3056979
write=330000 read=3069226
write=341243 read=3065353
write=358368 read=3046422
write=320389 read=3054541
write=280000 read=3090466
write=340000 read=3046335
write=316455 read=3047652
write=325248 read=3053164
write=318297 read=3020446
write=320701 read=3041663
write=323071 read=3043841
write=344826 read=3017294
write=320383 read=3056497
write=337157 read=3047072
write=329618 read=3025958
write=312194 read=3031471
write=342050 read=3056694
write=335024 read=3003783
write=308400 read=3069982
write=336576 read=3046329
write=340000 read=3117194
write=333839 read=3033357
write=341986 read=3002913
write=275353 read=3017138
write=191773 read=3012196
write=351175 read=2979102
write=331672 read=2996747
write=314235 read=3027706
write=319967 read=3008475
write=308307 read=2973702
write=331693 read=3009915
write=280000 read=3014422
write=340000 read=3075458
write=344032 read=3062360
write=305968 read=3009621
write=330000 read=3002557
write=350000 read=3006787
write=316835 read=3050911
write=353165 read=3061053
write=338602 read=3054002
write=317665 read=3046989
write=324209 read=3010672
write=319524 read=2978857
write=270000 read=3004153
write=320000 read=3062174
write=344124 read=3067112
write=315876 read=3092513
write=329116 read=3075129
write=319915 read=3055547
write=308004 read=3084007
write=332965 read=3062553
write=294735 read=3080906
write=325265 read=3054750
write=340000 read=3092615
write=320000 read=3021435
write=322437 read=3074929
write=337563 read=3095561
write=351901 read=3069732
write=349874 read=3063933
write=326690 read=3078051
write=321535 read=3076340
write=298970 read=3063347
write=344082 read=3010618
write=306948 read=3040804
write=315109 read=3086977
write=334891 read=3027912
write=320361 read=3072445
write=327310 read=3057694
write=304014 read=3028432
write=214235 read=2881194
write=274080 read=2898051
write=284129 read=3044214
write=334014 read=2985236
write=175932 read=2970931
write=217925 read=3022798
write=302685 read=3098679
write=288878 read=3071662
write=266437 read=3026107
write=285894 read=3067490
write=314106 read=3056598
write=350000 read=3020122
write=130956 read=3006407
write=275802 read=3064723
write=343242 read=3028718
write=328714 read=3042647
write=341286 read=3032545
write=293616 read=3076258
write=266384 read=3044147
write=302611 read=3042294
write=322869 read=3010525
write=343314 read=3040875
write=341206 read=3020826
write=333186 read=3022644
write=337611 read=3086355
write=329203 read=3092772
write=320000 read=3041712
write=300000 read=3008151
write=311683 read=2999169
write=330744 read=2982712
write=347573 read=2994600
write=334001 read=2995659
write=345999 read=2973246
write=320000 read=3010031
write=310920 read=3042029
write=329080 read=2947946
write=302276 read=2979660
write=271339 read=2979921
write=306385 read=3000853
elapsedTime=1200257 ms
writeCount[0]=37967954 rate=31.63 per ms
Total Write Rate=31.63 per ms
readCount[0]=90773485 rate=75.63
readCount[1]=90851598 rate=75.69
readCount[2]=91073955 rate=75.88
readCount[3]=91851611 rate=76.53
Total Read Rate=303.73 per ms
writer latency stats:
1,1
5,0
10,4347827
50,33569561
100,1413
200,81
300,10096
400,611
500,10
600,9
700,13
800,19
900,54
1000,71
1+ms,38188
reader latency stats:
1,0
5,3900327
10,3759054
50,83027440
100,63935
200,21547
300,516
400,80
500,4
600,0
700,0
800,0
900,1
1000,0
1+ms,581
mvn test -Dtest=TestIndexedStoreWriteBuffer -Dkrati.test.jvm.args="-
Xloggc:target/logs/krati.gc -XX:+PrintGCDetails" -
Dkrati.test.initLevel=11 -Dkrati.test.keyCount=50000000 -
Dkrati.test.segFileSizeMB=256 -Dkrati.test.runTimeSeconds=3600
>>> ========================================================
>>> BEGIN TestIndexedStoreWriteBuffer
>>> populate
elapsedTime=2468708 ms
writeCount=50000000 rate=20.25 per ms
>>> read only
Reader 0 started
Reader 1 started
Reader 2 started
Reader 3 started
elapsedTime=10038 ms
readCount[0]=230 rate=0.02 per ms
readCount[1]=230 rate=0.02 per ms
readCount[2]=240 rate=0.02 per ms
readCount[3]=236 rate=0.02 per ms
Total Read Rate=0.08 per ms
>>> write only
Writer 0 started
writeCount=247376
writeCount=257156
writeCount=302960
writeCount=291357
writeCount=249964
writeCount=261186
writeCount=254722
writeCount=271419
writeCount=256619
writeCount=277240
writeCount=310000
writeCount=284330
writeCount=260543
writeCount=268642
writeCount=266485
writeCount=254677
writeCount=292487
writeCount=271046
writeCount=260963
writeCount=261564
writeCount=261222
writeCount=261279
writeCount=296762
writeCount=230000
writeCount=80000
writeCount=100000
writeCount=150000
writeCount=160000
writeCount=243243
writeCount=146757
writeCount=184633
writeCount=208677
writeCount=129989
writeCount=247140
writeCount=99561
writeCount=210000
writeCount=145272
writeCount=234728
writeCount=128707
writeCount=281293
writeCount=89218
writeCount=224057
writeCount=152653
writeCount=51468
writeCount=79984
writeCount=189668
writeCount=65155
writeCount=27797
writeCount=180000
writeCount=1465
writeCount=59459
writeCount=129076
writeCount=205853
writeCount=64147
writeCount=209069
writeCount=100931
writeCount=96944
writeCount=192071
writeCount=160285
writeCount=224149
writeCount=146551
writeCount=235913
writeCount=126243
writeCount=227844
writeCount=107055
writeCount=232945
writeCount=128298
writeCount=233522
writeCount=111755
writeCount=260967
writeCount=135224
writeCount=230180
writeCount=100054
writeCount=260000
writeCount=77342
writeCount=152658
writeCount=120593
writeCount=82592
writeCount=205216
writeCount=150327
writeCount=211897
writeCount=146404
writeCount=222971
writeCount=133717
writeCount=206283
writeCount=152478
writeCount=217522
writeCount=140828
writeCount=169172
writeCount=189229
writeCount=82179
writeCount=230367
writeCount=127775
writeCount=201170
writeCount=108444
writeCount=248991
writeCount=81772
writeCount=271024
writeCount=84737
writeCount=213891
writeCount=141666
writeCount=148755
writeCount=180000
writeCount=115608
writeCount=234392
writeCount=120097
writeCount=238276
writeCount=127238
writeCount=234389
writeCount=130525
writeCount=239475
writeCount=119644
writeCount=228855
writeCount=123076
writeCount=203171
writeCount=126070
writeCount=231159
writeCount=124712
writeCount=234788
writeCount=88525
elapsedTime=1203491 ms
writeCount[0]=21860000 rate=18.16 per ms
Total Write Rate=18.16 per ms
>>> validate
Quit: running time is over 60000 ms
Validated 17841/50000000 in 60015 ms
OK
>>> read & write
Reader 0 started
Reader 1 started
Reader 2 started
Reader 3 started
Writer 0 started
write=49999 read=2791
write=50000 read=2660
write=40000 read=2767
write=40000 read=2898
write=40000 read=2712
write=40000 read=3117
write=13601 read=2214
write=16399 read=2144
write=40000 read=2502
write=18806 read=1965
write=3701 read=1179
write=17493 read=2336
write=0 read=2655
write=30000 read=2189
write=30000 read=2513
write=40000 read=2479
write=20000 read=2525
write=20000 read=2568
write=30000 read=2723
write=20000 read=2617
write=40000 read=2662
write=20000 read=2911
write=10000 read=2516
write=22011 read=1471
write=47989 read=2534
write=20000 read=1583
write=50000 read=2307
write=30000 read=3003
write=40000 read=2927
write=40000 read=3067
write=40000 read=2809
write=30000 read=2693
write=40000 read=2318
write=10000 read=1762
write=30000 read=2434
write=35780 read=2261
write=14220 read=1561
write=50000 read=2610
write=40000 read=2640
write=40000 read=2992
write=40000 read=2981
write=50000 read=2900
write=40000 read=2857
write=15167 read=2020
write=4833 read=2622
write=50000 read=2403
write=14586 read=2164
write=25414 read=2187
write=40000 read=2568
write=40000 read=2815
write=40000 read=2883
write=30000 read=2873
write=40000 read=2889
write=50000 read=3006
write=22868 read=2178
write=7436 read=2374
write=29696 read=2672
write=30000 read=2330
write=10000 read=1826
write=30000 read=2633
write=50000 read=2560
write=40000 read=2830
write=50000 read=3010
write=30000 read=3070
write=40000 read=2995
write=30000 read=2881
write=10000 read=1617
write=30000 read=2508
write=42276 read=2020
write=27724 read=2523
write=40022 read=2725
write=49978 read=2984
write=50000 read=2900
write=30000 read=2941
write=30000 read=3130
write=40000 read=2962
write=14217 read=1819
write=35783 read=2490
write=30000 read=2495
write=30000 read=1557
write=30000 read=2584
write=50000 read=2926
write=40000 read=2877
write=40000 read=2945
write=50000 read=2978
write=40000 read=3099
write=15460 read=1716
write=34540 read=2644
write=39833 read=2843
write=7207 read=1639
write=32960 read=2506
write=50000 read=2690
write=40000 read=2780
write=40000 read=3023
write=30000 read=3014
write=30000 read=3224
write=40000 read=2767
write=14989 read=1421
write=35011 read=2162
write=40000 read=2429
write=8988 read=1601
write=31012 read=2495
write=40000 read=2612
write=50000 read=2911
write=40000 read=2589
write=30000 read=2799
write=40000 read=2968
write=40000 read=2762
write=6342 read=1138
write=43658 read=2487
write=30000 read=1637
write=30000 read=2184
write=40000 read=2294
write=40000 read=2872
write=40000 read=2891
write=50000 read=2752
write=40000 read=2879
write=40000 read=2752
write=9244 read=1667
write=40756 read=2329
elapsedTime=1201515 ms
writeCount[0]=3910000 rate=3.25 per ms
Total Write Rate=3.25 per ms
readCount[0]=75110 rate=0.06
readCount[1]=76097 rate=0.06
readCount[2]=75333 rate=0.06
readCount[3]=76163 rate=0.06
Total Read Rate=0.24 per ms
writer latency stats:
1,127
5,0
10,551106
50,3201678
100,39
200,50
300,684
400,4
500,3
600,0
700,5
800,6
900,6
1000,2
1+ms,156290
reader latency stats:
1,3
5,1591
10,6312
50,45090
100,10
200,0
300,1
400,1
500,0
600,0
700,0
800,0
900,0
1000,0
1+ms,22102
The last test has more than 50GB data values, which cannot fit into
either main memory (16GB) or OS page cache. Once your data is over
memory, read performance suffers big time assuming that read access
pattern is random. Basically, every read may require a disk seek.
Write throughput is better since an in-memory buffer is used for
buffering writes. That is how WriteBufferSegment is named.
> [1]
http://groups.google.com/group/krati/browse_thread/thread/187679075db...