Version 119.1 by Thomas Mortagne on 2016/12/07 14:55

Hide last authors
Thomas Mortagne 6.1 1 {{toc/}}
2
Thomas Mortagne 17.1 3 = Environment =
Thomas Mortagne 6.1 4
Thomas Mortagne 97.1 5 * Ubuntu 14.10 64b
Thomas Mortagne 2.1 6 * Quad core i7
Thomas Mortagne 97.1 7 * Oracle JDK 1.8.0_25 64b
Thomas Mortagne 1.1 8 * standard jetty+hsqldb
Thomas Mortagne 12.1 9 * only main wiki
Thomas Mortagne 1.1 10
Thomas Mortagne 113.1 11 Unless specifically indicated otherwise all the test are executed with a fully initialized instance (core extensions don't run anymore, SOLR index is fully up to date, etc.). Basically except for a few special tests we are using an instance that already been started and run until the proc is flat for some time.
12
Thomas Mortagne 67.1 13 = Summary =
14
Thomas Mortagne 68.1 15 == Speed ==
16
Thomas Mortagne 81.1 17 |=(% colspan="2" %)Actions|=Difference
Thomas Mortagne 114.3 18 |(% colspan="2" %)[[Jetty startup>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HJettystartup"]]|(% style="color:green" %)Slightly better
Thomas Mortagne 114.4 19 |(% rowspan="2" width="150" %)[[First access>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HFirstaccess"]]|(% width="300" %)[[not existing page without UI>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HFirstaccesstonotexistingpagewithoutUI282Fxwiki2Fbin2Fget2FNoSpace2FNoPage29"]]|(% style="color:orange" %)Same
Thomas Mortagne 114.9 20 |[[not existing page with UI>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HFirstaccesstonotexistingpagewithUI282Fxwiki2Fbin2Fview2FNoSpace2FNoPage29"]]|(% style="color:red" %)x2 (most probably the LESS init)
Thomas Mortagne 114.7 21 |(% rowspan="4" %)[[Reload>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HReload"]]|[[not existing page without UI>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HReloadofnotexistingpagewithoutUI282Fxwiki2Fbin2Fget2FNoSpace2FNoPage29"]]|(% style="color:orange" %)Same
Thomas Mortagne 114.8 22 |[[not existing page with UI>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HReloadofnotexistingpagewithUI282Fxwiki2Fbin2Fview2FNoSpace2FNoPage29"]]|(% style="color:green" %)Slightly better
Thomas Mortagne 114.10 23 |[[Main.WebHome with UI>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HReloadofMain.WebHomewithUI"]]|(% style="color:green" %)Slightly better
24 |[[Main.WebHome without UI>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HReloadofMain.WebHomewithoutUI"]]|(% style="color:green" %)Slightly better
Thomas Mortagne 114.11 25 |(% rowspan="3" %)[[SOLR>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HSOLR"]]|[[Full SOLR reindex>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HFullSOLRreindex"]]|(% style="color:orange" %)Same
26 |[[SOLR sync when index is empty>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="Hwhenindexisempty"]]|(% style="color:orange" %)Same
27 |[[SOLR sync when there is nothing to do>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="Hwhenthereisnothingtodo"]]|(% style="color:orange" %)Same
Thomas Mortagne 114.12 28 |[[Rendering>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HRendering"]]|[[Page with 1000 macros without UI>>test:Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HPagewith1000macroswithoutUI"]]|(% style="color:green" %)/3
Thomas Mortagne 68.1 29
30 == Memory ==
31
Thomas Mortagne 92.1 32 |=(% width="450" %)Actions|=Difference
Thomas Mortagne 118.1 33 |[[Memory after jetty startup>>Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HHeapmemoryafterjettystartup"]]|(% style="color:green" %)Use a bit more but keep less
34 |[[Memory after full SOLR index>>Performances.Jetty HSQLDB single wiki 546 to 64||anchor="HHeapmemoryafterfullSOLRindex"]]|(% style="color:green" %)Use less and keep less
Thomas Mortagne 64.1 35
Thomas Mortagne 17.1 36 = Jetty startup =
Thomas Mortagne 1.1 37
Thomas Mortagne 27.2 38 Unit: seconds
39
Thomas Mortagne 111.1 40 Until end message is printed. Done by hand with a chronometer.
Thomas Mortagne 10.1 41
Thomas Mortagne 113.2 42 * 5.4.6: 10
Thomas Mortagne 113.3 43 * 6.4: 8
Thomas Mortagne 9.1 44
Thomas Mortagne 17.1 45 = First access =
Thomas Mortagne 1.1 46
Thomas Mortagne 113.5 47 First HTTP request after restarting Jetty.
Thomas Mortagne 10.1 48
Thomas Mortagne 72.2 49 == First access to not existing page without UI (/xwiki/bin/get/NoSpace/NoPage) ==
Thomas Mortagne 1.1 50
Thomas Mortagne 27.2 51 Unit: seconds
52
Thomas Mortagne 19.1 53 Firefox network statistics to load the root resource (image/js/css/etc. resources are not taken into account).
54
Thomas Mortagne 113.12 55 * 5.4.6 : 8
56 * 6.4 : 9
Thomas Mortagne 9.1 57
Thomas Mortagne 99.7 58 == First access to not existing page with UI (/xwiki/bin/view/NoSpace/NoPage) ==
Thomas Mortagne 19.1 59
Thomas Mortagne 27.1 60 Unit: seconds
Thomas Mortagne 19.1 61
Thomas Mortagne 27.1 62 Firefox network statistics to load the root resource (image/js/css/etc. resources are not taken into account).
Thomas Mortagne 26.1 63
Thomas Mortagne 113.12 64 * 5.4.6 : 9
Thomas Mortagne 26.1 65
66 Done by hand with a chronometer (image/js/css/etc. resources are not taken into account).
67
Thomas Mortagne 113.12 68 * 6.4 : 18
Thomas Mortagne 19.1 69
Thomas Mortagne 17.1 70 = Reload =
Thomas Mortagne 1.1 71
Thomas Mortagne 10.1 72 XWiki is doing nothing on background and everything is both in server and client cache already. Firefox network statistics to load the root resource (image/js/css/etc. resources are not taken into account).
73
Thomas Mortagne 17.1 74 == Reload of not existing page without UI (/xwiki/bin/get/NoSpace/NoPage) ==
Thomas Mortagne 1.1 75
Thomas Mortagne 9.1 76 Unit: milliseconds
Thomas Mortagne 1.1 77
Thomas Mortagne 113.8 78 * 5.4.6 : [10, 20]
79 * 6.4 : [10, 20]
Thomas Mortagne 9.1 80
Thomas Mortagne 17.1 81 == Reload of not existing page with UI (/xwiki/bin/view/NoSpace/NoPage) ==
Thomas Mortagne 1.1 82
Thomas Mortagne 9.1 83 Unit: milliseconds
Thomas Mortagne 1.1 84
Thomas Mortagne 113.8 85 * 5.4.6 : [75, 130]
86 * 6.4 : [70, 100]
Thomas Mortagne 9.1 87
Thomas Mortagne 38.1 88 == Reload of Main.WebHome with UI ==
Thomas Mortagne 34.1 89
Thomas Mortagne 38.1 90 Unit: milliseconds
91
Thomas Mortagne 113.6 92 * 5.4.6 : [170,300]
93 * 6.4 : [150,220]
Thomas Mortagne 34.1 94
Thomas Mortagne 38.1 95 == Reload of Main.WebHome without UI ==
96
97 Unit: milliseconds
98
Thomas Mortagne 113.7 99 * 5.4.6 : [60, 100]
Thomas Mortagne 113.6 100 * 6.4 : [50, 80]
Thomas Mortagne 38.1 101
Thomas Mortagne 17.1 102 = SOLR =
Thomas Mortagne 1.1 103
Thomas Mortagne 17.1 104 == Full SOLR reindex ==
Thomas Mortagne 1.1 105
Thomas Mortagne 27.2 106 Unit: seconds
Thomas Mortagne 1.1 107
Thomas Mortagne 62.1 108 Delete the data/solr folder, restart, load home page and calculate the time of activity of the SOLR index thread using Yourkit (Yourkit is slowing down a bit all that but what is important is the difference anyway).
Thomas Mortagne 56.1 109
Thomas Mortagne 113.11 110 * 5.4.6 : 59
Thomas Mortagne 113.9 111 * 6.4 : 60
Thomas Mortagne 27.2 112
Thomas Mortagne 30.1 113 == SOLR sync ==
Thomas Mortagne 1.1 114
Thomas Mortagne 29.1 115 Only the thread determining what need to be indexed and not the actual indexing.
116
Thomas Mortagne 30.1 117 === when index is empty ===
118
Thomas Mortagne 27.2 119 Unit: seconds
Thomas Mortagne 1.1 120
Thomas Mortagne 99.14 121 * 5.4.6 : 1
Thomas Mortagne 110.1 122 * 6.4 : 1
Thomas Mortagne 28.1 123
Thomas Mortagne 30.1 124 === when there is nothing to do ===
Thomas Mortagne 28.1 125
126 Unit: seconds
127
Thomas Mortagne 113.10 128 * 5.4.6 : < 1
129 * 6.4 : < 1
Thomas Mortagne 27.2 130
Thomas Mortagne 17.1 131 = Rendering =
Thomas Mortagne 1.1 132
Thomas Mortagne 17.1 133 == Page with 1000 macros without UI ==
Thomas Mortagne 1.1 134
Thomas Mortagne 36.1 135 1000 times ~{~{id}} macro, one on each line.
Thomas Mortagne 35.1 136
Thomas Mortagne 99.29 137 Unit: seconds
Thomas Mortagne 2.1 138
Thomas Mortagne 114.1 139 * 5.4.6 : 10
140 * 6.4 : 3
Thomas Mortagne 27.2 141
Thomas Mortagne 103.1 142 = Heap Memory =
Thomas Mortagne 1.1 143
Thomas Mortagne 46.1 144 Attach Yourkit to get the information.
Thomas Mortagne 27.2 145
146 Unit: MB
147
Thomas Mortagne 103.1 148 == Heap Memory after jetty startup ==
Thomas Mortagne 46.1 149
Thomas Mortagne 110.1 150 Start jetty and wait until java is not doing anything on both (wait for potential initialization of various stuff like core extension cache, etc). Force garbage collector before looking at the values.
Thomas Mortagne 46.1 151
Thomas Mortagne 113.4 152 * 5.4.6 : 60 used, 449 allocated
153 * 6.4 : 44 used, 460 allocated
Thomas Mortagne 27.2 154
Thomas Mortagne 103.1 155 == Heap Memory after full SOLR index ==
Thomas Mortagne 12.1 156
Thomas Mortagne 110.1 157 Delete the data/solr folder, restart, load home page then wait until nothing is happening in background. Force garbage collector before looking at the values.
Thomas Mortagne 42.1 158
Thomas Mortagne 27.2 159 Unit: MB
160
Thomas Mortagne 113.11 161 * 5.4.6 : 117 used, 499 allocated
Thomas Mortagne 113.9 162 * 6.4 : 90 used, 493 allocated

Get Connected