Performance test on Jetty/HSQLDB with a single wiki

Version 89.1 by Thomas Mortagne on 2014/10/02 17:40

Environment

  • Ubuntu 14.04 64b
  • Quad core i7
  • Oracle JDK 1.8.0_20 64b
  • standard jetty+hsqldb
  • only main wiki

Summary

Speed

ActionsDifference
Jetty startup Same
First accessto not existing page without UI Same
to not existing page with UI x3
Reloadof not existing page without UI > x2
of not existing page with UI x2
of Main.WebHome with UI x2
of Main.WebHome without UI > x2
SOLRFull SOLR reindex Same
SOLR sync when index is empty Same
SOLR sync when there is nothing to do Same
RenderingPage with 1000 macros without UI /3

Memory

ActionsDifference
Memory after jetty startup Use almost half and keep less
Memory after full SOLR index Use less but keep more

Jetty startup

accept Same

Unit: seconds

Until end message is printer. Done by hand with a chronometer.

  • 5.4.5: 12
  • 6.2: 12

First access

First HTTP request after starting Jetty.

First access to not existing page without UI (/xwiki/bin/get/NoSpace/NoPage)

cancel Same

Unit: seconds

Firefox network statistics to load the root resource (image/js/css/etc. resources are not taken into account).

  • 5.4.5 : 6
  • 6.2 : 6

First access to not existing page with UI (/xwiki/bin/get/NoSpace/NoPage)

cancel 3 times slower

Unit: seconds

Firefox network statistics to load the root resource (image/js/css/etc. resources are not taken into account).

  • 5.4.5 : 6

Done by hand with a chronometer (image/js/css/etc. resources are not taken into account).

  • 6.2 : 18

Reload

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).

Reload of not existing page without UI (/xwiki/bin/get/NoSpace/NoPage)

cancel more that 2 times slower

Unit: milliseconds

  • 5.4.5 : [10, 20]
  • 6.2 : [30, 40]

Reload of not existing page with UI (/xwiki/bin/view/NoSpace/NoPage)

cancel 2 times slower

Unit: milliseconds

  • 5.4.5 : [100, 150]
  • 6.2 : [200, 300]

Reload of Main.WebHome with UI

cancel 2 times slower

Unit: milliseconds

  • 5.4.5 : [250, 350]
  • 6.2 : [400, 500]

Reload of Main.WebHome without UI

cancel more than 2 times slower

Unit: milliseconds

  • 5.4.5 : [65, 90]
  • 6.2 : [145, 190]

SOLR

Full SOLR reindex

accept Same

Unit: seconds

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).

  • 5.4.5 : 51
  • 6.2 : 53

SOLR sync

Only the thread determining what need to be indexed and not the actual indexing.

when index is empty

accept Same

Unit: seconds

  • 5.4.5 : 1
  • 6.2 : 1

when there is nothing to do

accept Same

Unit: seconds

  • 5.4.5 : < 1
  • 6.2 : < 1

Rendering

Page with 1000 macros without UI

accept almost 3 times quicker

1000 times {{id}} macro, one on each line.

Unit: milliseconds

  • 5.4.5 : 9500
  • 6.2 : 3500

Memory

Attach Yourkit to get the information.

Unit: MB

Memory after jetty startup

accept use and keep less

Start jetty and wait until java is not doing anything on both (wait for potential initialization of various stuff like core extension cache, etc).

  • 5.4.5 : used 178, allocated 515
  • 6.2 : used 118, allocated 320

Memory after full SOLR index

accept Use less but keep a bit more

Delete the data/solr folder, restart, load home page then wait until nothing is happening in background.

Unit: MB

  • 5.4.5 : used 273, allocated 645
  • 6.2 : used 344, allocated 503

Get Connected