Performance test on Jetty/HSQLDB with a single wiki between 5.4.5 and 6.2

Version 104.1 by Thomas Mortagne on 2014/12/18 12:51

Environment

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

Summary

Speed

ActionsDifference
Jetty startupSame
First accessnot existing page without UISame
not existing page with UIx2 (most probably the LESS init)
Reloadnot existing page without UISame
not existing page with UISame
Main.WebHome with UISlightly better
Main.WebHome without UISame
SOLRFull SOLR reindexSame
SOLR sync when index is emptySame
SOLR sync when there is nothing to doSame
RenderingPage with 1000 macros without UI/3

Memory

ActionsDifference
Memory after jetty startupSame
Memory after full SOLR indexUse a bit more but keep less

Jetty startup

Unit: seconds

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

  • 5.4.6: 10
  • 6.3: 8

First access

First HTTP request after starting Jetty.

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

Unit: seconds

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

  • 5.4.6 : 6
  • 6.3 : 6

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

Unit: seconds

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

  • 5.4.6 : 8

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

  • 6.3 : 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)

Unit: milliseconds

  • 5.4.6 : [13, 24]
  • 6.3 : [17, 24]

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

Unit: milliseconds

  • 5.4.6 : [100, 200]
  • 6.3 : [100, 200]

Reload of Main.WebHome with UI

Unit: milliseconds

  • 5.4.6 : [200, 400]
  • 6.3 : [200, 250]

Reload of Main.WebHome without UI

Unit: milliseconds

  • 5.4.6 : [100, 200]
  • 6.3 : [100, 200]

SOLR

Full SOLR reindex

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.6 : 58
  • 6.3 : 59

SOLR sync

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

when index is empty

Unit: seconds

  • 5.4.6 : 1
  • 6.3 : 1

when there is nothing to do

Unit: seconds

  • 5.4.6 : < 1
  • 6.3 : < 1

Rendering

Page with 1000 macros without UI

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

Unit: seconds

  • 5.4.6 : 10
  • 6.3 : 3

Heap Memory

Attach Yourkit to get the information.

Unit: MB

Heap Memory after jetty startup

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.6 : 184 used, 326 allocated
  • 6.3 : 143 used, 311 allocated

Heap Memory after full SOLR index

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

Unit: MB

  • 5.4.6 : 261 used, 467 allocated
  • 6.3 : 292 used, 501 allocated

Get Connected