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

Last modified by Thomas Mortagne on 2016/12/07 14:56

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 startupSame
First accessnot existing page without UISame
not existing page with UIx3
Reloadnot existing page without UI> x2
not existing page with UIx2
Main.WebHome with UIx2
Main.WebHome without UI> x2
SOLRFull SOLR reindexSame
SOLR sync when index is emptySame
SOLR sync when there is nothing to doSame
RenderingPage with 1000 macros without UI/3

Heap Memory

ActionsDifference
Heap Memory after jetty startupUse almost half and keep less
Heap Memory after full SOLR indexUse less but keep more

Jetty startup

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)

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

Unit: milliseconds

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

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

Unit: milliseconds

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

Reload of Main.WebHome with UI

Unit: milliseconds

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

Reload of Main.WebHome without UI

Unit: milliseconds

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

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

Unit: seconds

  • 5.4.5 : 1
  • 6.2 : 1

when there is nothing to do

Unit: seconds

  • 5.4.5 : < 1
  • 6.2 : < 1

Rendering

Page with 1000 macros without UI

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

Unit: milliseconds

  • 5.4.5 : 9500
  • 6.2 : 3500

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.5 : used 178, allocated 515
  • 6.2 : used 118, allocated 320

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.5 : used 273, allocated 645
  • 6.2 : used 344, allocated 503

Get Connected