Wiki source code of Performance test on Jetty/HSQLDB with a single wiki between 5.4.5 and 6.2
Version 103.1 by Thomas Mortagne on 2014/12/18 12:29
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{toc/}} | ||
2 | |||
3 | = Environment = | ||
4 | |||
5 | * Ubuntu 14.10 64b | ||
6 | * Quad core i7 | ||
7 | * Oracle JDK 1.8.0_25 64b | ||
8 | * standard jetty+hsqldb | ||
9 | * only main wiki | ||
10 | |||
11 | = Summary = | ||
12 | |||
13 | == Speed == | ||
14 | |||
15 | |=(% colspan="2" %)Actions|=Difference | ||
16 | |(% colspan="2" %)[[Jetty startup>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HJettystartup"]]|(% style="color:orange" %)Same | ||
17 | |(% rowspan="2" width="150" %)[[First access>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HFirstaccess"]]|(% width="300" %)[[not existing page without UI>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HFirstaccesstonotexistingpagewithoutUI282Fxwiki2Fbin2Fget2FNoSpace2FNoPage29"]]|(% style="color:orange" %)Same | ||
18 | |[[not existing page with UI>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HFirstaccesstonotexistingpagewithUI282Fxwiki2Fbin2Fget2FNoSpace2FNoPage29"]]|(% style="color:red" %)x2 (most probably the LESS init) | ||
19 | |(% rowspan="4" %)[[Reload>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HReload"]]|[[not existing page without UI>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HReloadofnotexistingpagewithoutUI282Fxwiki2Fbin2Fget2FNoSpace2FNoPage29"]]|(% style="color:orange" %)Same | ||
20 | |[[not existing page with UI>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HReloadofnotexistingpagewithUI282Fxwiki2Fbin2Fview2FNoSpace2FNoPage29"]]|(% style="color:orange" %)Same | ||
21 | |[[Main.WebHome with UI>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HReloadofMain.WebHomewithUI"]]|(% style="color:green" %)Slightly better | ||
22 | |[[Main.WebHome without UI>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HReloadofMain.WebHomewithoutUI"]]|(% style="color:orange" %)Same | ||
23 | |(% rowspan="3" %)[[SOLR>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HSOLR"]]|[[Full SOLR reindex>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HFullSOLRreindex"]]|(% style="color:orange" %)Same | ||
24 | |[[SOLR sync when index is empty>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="Hwhenindexisempty"]]|(% style="color:orange" %)Same | ||
25 | |[[SOLR sync when there is nothing to do>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="Hwhenthereisnothingtodo"]]|(% style="color:orange" %)Same | ||
26 | |[[Rendering>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HRendering"]]|[[Page with 1000 macros without UI>>test:Performances.Jetty HSQLDB single wiki 546 to 63||anchor="HPagewith1000macroswithoutUI"]]|(% style="color:green" %)/3 | ||
27 | |||
28 | == Memory == | ||
29 | |||
30 | |=(% width="450" %)Actions|=Difference | ||
31 | |[[Memory after jetty startup>>Performances.Jetty HSQLDB single wiki 546 to 63||anchor="#HMemoryafterjettystartup"]]|(% style="color:orange" %)Same | ||
32 | |[[Memory after full SOLR index>>Performances.Jetty HSQLDB single wiki 546 to 63||anchor="#HMemoryafterfullSOLRindex"]]|(% style="color:green" %)Use a bit more but keep less | ||
33 | |||
34 | = Jetty startup = | ||
35 | |||
36 | Unit: seconds | ||
37 | |||
38 | Until end message is printer. Done by hand with a chronometer. | ||
39 | |||
40 | * 5.4.6: 10 | ||
41 | * 6.3: 8 | ||
42 | |||
43 | = First access = | ||
44 | |||
45 | First HTTP request after starting Jetty. | ||
46 | |||
47 | == First access to not existing page without UI (/xwiki/bin/get/NoSpace/NoPage) == | ||
48 | |||
49 | Unit: seconds | ||
50 | |||
51 | Firefox network statistics to load the root resource (image/js/css/etc. resources are not taken into account). | ||
52 | |||
53 | * 5.4.6 : 6 | ||
54 | * 6.3 : 6 | ||
55 | |||
56 | == First access to not existing page with UI (/xwiki/bin/view/NoSpace/NoPage) == | ||
57 | |||
58 | Unit: seconds | ||
59 | |||
60 | Firefox network statistics to load the root resource (image/js/css/etc. resources are not taken into account). | ||
61 | |||
62 | * 5.4.6 : 8 | ||
63 | |||
64 | Done by hand with a chronometer (image/js/css/etc. resources are not taken into account). | ||
65 | |||
66 | * 6.3 : 18 | ||
67 | |||
68 | = Reload = | ||
69 | |||
70 | 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). | ||
71 | |||
72 | == Reload of not existing page without UI (/xwiki/bin/get/NoSpace/NoPage) == | ||
73 | |||
74 | Unit: milliseconds | ||
75 | |||
76 | * 5.4.6 : [13, 24] | ||
77 | * 6.3 : [17, 24] | ||
78 | |||
79 | == Reload of not existing page with UI (/xwiki/bin/view/NoSpace/NoPage) == | ||
80 | |||
81 | Unit: milliseconds | ||
82 | |||
83 | * 5.4.6 : [100, 200] | ||
84 | * 6.3 : [100, 200] | ||
85 | |||
86 | == Reload of Main.WebHome with UI == | ||
87 | |||
88 | Unit: milliseconds | ||
89 | |||
90 | * 5.4.6 : [200, 400] | ||
91 | * 6.3 : [200, 250] | ||
92 | |||
93 | == Reload of Main.WebHome without UI == | ||
94 | |||
95 | Unit: milliseconds | ||
96 | |||
97 | * 5.4.6 : [100, 200] | ||
98 | * 6.3 : [100, 200] | ||
99 | |||
100 | = SOLR = | ||
101 | |||
102 | == Full SOLR reindex == | ||
103 | |||
104 | Unit: seconds | ||
105 | |||
106 | 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). | ||
107 | |||
108 | * 5.4.6 : 58 | ||
109 | * 6.3 : 59 | ||
110 | |||
111 | == SOLR sync == | ||
112 | |||
113 | Only the thread determining what need to be indexed and not the actual indexing. | ||
114 | |||
115 | === when index is empty === | ||
116 | |||
117 | Unit: seconds | ||
118 | |||
119 | * 5.4.6 : 1 | ||
120 | * 6.3 : 1 | ||
121 | |||
122 | === when there is nothing to do === | ||
123 | |||
124 | Unit: seconds | ||
125 | |||
126 | * 5.4.6 : < 1 | ||
127 | * 6.3 : < 1 | ||
128 | |||
129 | = Rendering = | ||
130 | |||
131 | == Page with 1000 macros without UI == | ||
132 | |||
133 | 1000 times ~{~{id}} macro, one on each line. | ||
134 | |||
135 | Unit: seconds | ||
136 | |||
137 | * 5.4.6 : 10 | ||
138 | * 6.3 : 3 | ||
139 | |||
140 | = Heap Memory = | ||
141 | |||
142 | Attach Yourkit to get the information. | ||
143 | |||
144 | Unit: MB | ||
145 | |||
146 | == Heap Memory after jetty startup == | ||
147 | |||
148 | Start jetty and wait until java is not doing anything on both (wait for potential initialization of various stuff like core extension cache, etc). | ||
149 | |||
150 | * 5.4.6 : 184 used, 326 allocated | ||
151 | * 6.3 : 143 used, 311 allocated | ||
152 | |||
153 | == Heap Memory after full SOLR index == | ||
154 | |||
155 | Delete the data/solr folder, restart, load home page then wait until nothing is happening in background. | ||
156 | |||
157 | Unit: MB | ||
158 | |||
159 | * 5.4.6 : 261 used, 467 allocated | ||
160 | * 6.3 : 192 used, 501 allocated |