Last modified by Thomas Mortagne on 2015/09/23 14:07

Show last authors
1 {{toc/}}
2
3 = Environment =
4
5 {{velocity}}
6 #if ($xcontext.action == 'edit')
7 ; Previous version
8 : $doc.next
9 ; Next version
10 : $doc.previous
11 #end
12 {{/velocity}}
13
14 * Ubuntu 15.04 64b
15 * Quad core i7-3630QM
16 * Oracle JDK 1.8.0_45 64b
17 * standard jetty+hsqldb
18 * permdir in a SSD
19 * only main wiki
20 * configuration
21 ** ##xwiki.cfg##:
22 *** ##xwiki.store.cache.capacity=500##
23 ** ##Admin user:##
24 *** ##hidden documents enabled##
25
26 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.) and logged in with Admin user. 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.
27
28 = Summary =
29
30 == Speed ==
31
32 |=(% colspan="2" %)Actions|=Difference
33 |(% colspan="2" %){{sl}}Jetty startup{{/sl}}|(% style="color:orange" %)similar\\
34 |(% rowspan="2" width="150" %){{sl}}First access{{/sl}}|(% width="300" %){{sl id="HFirstaccesstonotexistingpagewithoutUI282Fxwiki2Fbin2Fget2FNoSpace2FNoPage29"}}not existing page without UI{{/sl}}|(% style="color:orange" %)similar\\
35 |{{sl id="HFirstaccesstonotexistingpagewithUI282Fxwiki2Fbin2Fview2FNoSpace2FNoPage29"}}not existing page with UI{{/sl}}|(% style="color:green" %)20% quicker\\
36 |(% rowspan="4" %){{sl}}Reload{{/sl}}|{{sl id="HReloadofnotexistingpagewithoutUI282Fxwiki2Fbin2Fget2FNoSpace2FNoPage29"}}not existing page without UI{{/sl}}|(% style="color:orange" %)similar\\
37 |{{sl id="HReloadofnotexistingpagewithUI282Fxwiki2Fbin2Fview2FNoSpace2FNoPage29"}}not existing page with UI{{/sl}}|(% style="color:green" %)slightly better\\
38 |{{sl id="HReloadofMain.WebHomewithUI"}}Main.WebHome with UI{{/sl}}|(% style="color:green" %)slightly better\\
39 |{{sl id="HReloadofMain.WebHomewithoutUI"}}Main.WebHome without UI{{/sl}}|(% style="color:green" %)slightly better\\
40 |(% rowspan="5" %){{sl}}SOLR{{/sl}}|{{sl}}Full SOLR reindex{{/sl}}|(% style="color:orange" %)similar\\
41 |{{sl id="Hwhenindexisempty"}}SOLR sync when index is empty{{/sl}}|(% style="color:orange" %)similar\\
42 |{{sl id="Hwhenthereisnothingtodo"}}SOLR sync when there is nothing to do{{/sl}}|(% style="color:orange" %)similar\\
43 |{{sl}}Result of search finding lots of results{{/sl}}|(% style="color:green" %)30% quicker\\
44 |{{sl}}Result of search finding one result{{/sl}}|(% style="color:green" %)20% quicker\\
45 |(% rowspan="2" %){{sl}}Rendering{{/sl}}|{{sl}}Page with 1000 macros without UI{{/sl}}|(% style="color:green" %)/40\\
46 |{{sl}}Page with 1000 html macros without UI{{/sl}}|(% style="color:green" %)/8\\
47
48 == Memory ==
49
50 |=(% width="450" %)Actions|=Difference
51 |{{sl}}Heap Memory after jetty startup{{/sl}}|(% style="color:orange" %)similar\\
52 |{{sl}}Heap Memory after full SOLR index{{/sl}}|(% style="color:red" %)higher\\
53
54 = Jetty startup =
55
56 Unit: seconds
57
58 Execute {{code language="shell"}}echo `date` && ./start_xwiki.sh{{/code}} and compare "Server started..." log date the one printed before jetty startup.
59
60 * {{previous/}}: 8
61 * {{next/}}: 9
62
63 = First access =
64
65 First HTTP request after restarting Jetty.
66
67 == First access to not existing page without UI (/xwiki/bin/get/NoSpace/NoPage) ==
68
69 Unit: seconds
70
71 Firefox network statistics to load the root resource (image/js/css/etc. resources are not taken into account).
72
73 * {{previous/}}: 6
74 * {{next/}}: 6
75
76 == First access to not existing page with UI (/xwiki/bin/view/NoSpace/NoPage) ==
77
78 Unit: seconds
79
80 Done by hand with a chronometer (image/js/css/etc. resources are not taken into account).
81
82 * {{previous/}}: 15
83 * {{next/}}: 12
84
85 = Reload =
86
87 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).
88
89 == Reload of not existing page without UI (/xwiki/bin/get/NoSpace/NoPage) ==
90
91 Unit: milliseconds
92
93 * {{previous/}}: [7, 10]
94 * {{next/}}: [7, 10]
95
96 == Reload of not existing page with UI (/xwiki/bin/view/NoSpace/NoPage) ==
97
98 Unit: milliseconds
99
100 * {{previous/}}: [70, 90]
101 * {{next/}}: [60, 80]
102
103 == Reload of Main.WebHome with UI ==
104
105 Unit: milliseconds
106
107 * {{previous/}}: [155, 220]
108 * {{next/}}: [150, 200]
109
110 == Reload of Main.WebHome without UI ==
111
112 Unit: milliseconds
113
114 * {{previous/}}: [80, 110]
115 * {{next/}}: [70, 80]
116
117 = SOLR =
118
119 == Full SOLR reindex ==
120
121 Unit: seconds
122
123 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).
124
125 * {{previous/}}: 74
126 * {{next/}}: 70
127
128 == SOLR sync ==
129
130 Only the thread determining what need to be indexed and not the actual indexing.
131
132 === when index is empty ===
133
134 Unit: seconds
135
136 * {{previous/}}: 1
137 * {{next/}}: 1
138
139 === when there is nothing to do ===
140
141 Unit: seconds
142
143 * {{previous/}}: < 1
144 * {{next/}}: < 1
145
146 == Search ==
147
148 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).
149
150 Unit: milliseconds
151
152 === Result of search finding lots of results ===
153
154 Login with Admin user and make sure hidden document display is enabled.
155
156 http://127.0.0.1:8080/xwiki/bin/view/Main/Search?sort=score&sortOrder=desc&r=1&f_type=DOCUMENT&text=*
157
158 * {{previous/}}: [350, 450]
159 * {{next/}}: [270, 290]
160
161 === Result of search finding one result ===
162
163 http://127.0.0.1:8080/xwiki/bin/view/Main/Search?sort=score&sortOrder=desc&r=1&f_type=DOCUMENT&text=%22Learn+how+to+use+XWiki%22
164
165 * {{previous/}}: [220, 250]
166 * {{next/}}: [160, 200]
167
168 = Rendering =
169
170 == Page with 1000 macros without UI ==
171
172 [[1000 ~~{~~{id}} macros>>attach:Test.1000Macros.xar]].
173
174 Unit: milliseconds
175
176 * {{previous/}}: 3000
177 * {{next/}}: 80
178
179 == Page with 1000 html macros without UI ==
180
181 [[1000 standalone ~~{~~{html}} macros>>attach:Test.1000HTMLMacros.xar]].
182
183 Unit: milliseconds
184
185 * {{previous/}}: 6000
186 * {{next/}}: [750, 800]
187
188 = Heap Memory =
189
190 Attach Yourkit to get the information.
191
192 Unit: MB
193
194 == Heap Memory after jetty startup ==
195
196 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.
197
198 * {{previous/}}: 45 used, 489 allocated
199 * {{next/}}: 40 used, 494 allocated
200
201 == Heap Memory after full SOLR index ==
202
203 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.
204
205 Unit: MB
206
207 * {{previous/}}: 108 used, 503 allocated
208 * {{next/}}: 144 used, 503 allocated

Get Connected