4.4. Performance tuning

This section will show you possible ways of improving JCR.

It is intended for eXo Platform administrators and those who want to use JCR features.

JBoss AS tuning

You can use maxThreads parameter to increase maximum amount of threads that can be launched in AS instance. This can improve performance if you need a high level of concurrency. Also, you can use the -XX:+UseParallelGC java directory to use parallel garbage collector.


Beware of setting maxThreads too big, this can cause OutOfMemoryError. There is maxThreads=1250 on the machine:

  • 7.5 GB memory

  • 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)

  • 850 GB instance storage (2×420 GB plus 10 GB root partition)

  • 64-bit platform

  • I/O Performance: High

  • API name: m1.large

  • java -Xmx 4g

JCR cache tuning


For performance, it is better to have loadbalancer, the database server, and shared NFS on different computers. If one node gets more load than others, you can decrease this load by using the load value in the load balancer.

JVM parameters

Forse Query Hints

Some databases support hints to increase query performance (like Oracle, MySQL, and more). eXo JCR have separate Complex Query implementation for Orcale dialect, that uses query hints to increase performance for few important queries.

Copyright ©. All rights reserved. eXo Platform SAS
blog comments powered byDisqus