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