Try now Demo en
  • en
  • fr
  • de
  • Solutions
    • Use cases
      • Modern IntranetBuild strong internal culture & sense of belonging
      • Collaboration PlatformEfficient project management & teamwork
      • Social NetworkEngage users & recognize contributions
      • Knowledge managementCentralize & share your company knowledge
      • Employee PortalEngage your community
    • Industries
      • Public Sector
      • Networks
      • Education
      • Enterprises
  • Product
    • Overview
      • Digital workplaceFeatures & capabilities
      • Why eXoKey differentiators
      • InternationalisationMultilingual environments
      • MobileBranded mobile applications
    • Platform
      • No CodeTailor to your needs without code
      • IntegrationsAvailable connectors & extension capabilities
    • Technology
      • ArchitectureAn overview of eXo Platform technology
      • SecurityeXo Platform security measures
      • Open sourceComponents & licensing
  • Offers
    • EnterpriseMore than 250 users
    • ProfessionalLess than 250 users
    • OEM EditionFor software vendors & service providers
    • ServicesDiscover eXo professional services
  • Resources
    • Resource center
      • Case studies
      • White Papers
      • Datasheets
      • Videos
    • Migration guide
      • Alternative to Microsoft 365
      • Alternative to Sharepoint
      • Alternative to Workplace from Meta
    • From The Blog
      • eXo Platform 7.0 is released
      • eXo Platform Community Edition 7.0 is released
      • Cloud Vs On-premise Digital Workplace: Which one is right for your business?
  • Community
    • CommunityJoin our online community platform
    • DownloadLaunch eXo platform in your infrastructure
    • Source codeSource code on github
    • FAQsAbout the software, the community and our offers
    • REST APIs & DocumentationAll REST APIs available in eXo Platform
  • Company
    • About us
    • Customers
    • Partners
    • Contact us
    • Newsroom
  • Menu mobile
    • Pricing
    • About us
    • Careers
    • Resource center
    • Blog
    • Contact us
    • Try eXo
Use cases
  • Modern Intranet Build strong internal culture & sense of belonging
  • Collaboration Platform Efficient project management & teamwork
  • Social Network Engage users & recognize contributions
  • Knowledge management Centralize & share your company knowledge
  • Employee Portal Engage your community
Industries
  • Public Sector
  • Networks
  • Education
  • Enterprises
Overview
  • Digital workplace Features & capabilities
  • Why eXo Key differentiators
  • Internationalisation Multilingual environments
  • Mobile Branded mobile applications
Platform
  • No Code Tailor to your needs without code
  • Integrations Available connectors & extension capabilities
Technology
  • Architecture An overview of eXo Platform technology
  • Security eXo Platform security measures
  • Open source Components & licensing
Enterprise More than 250 users
Professional Less than 250 users
OEM Edition For software vendors & service providers
Services Discover eXo professional services
Resource center
  • Case studies
  • White Papers
  • Datasheets
  • Videos
Migration guide
  • Alternative to Microsoft 365
  • Alternative to Sharepoint
  • Alternative to Workplace from Meta
From The Blog
  • eXo Platform 7.0 is released
  • eXo Platform Community Edition 7.0 is released
  • Cloud Vs On-premise Digital Workplace: Which one is right for your business?
Community Join our online community platform
Download Launch eXo platform in your infrastructure
Source code Source code on github
FAQs About the software, the community and our offers
REST APIs & Documentation All REST APIs available in eXo Platform
About us
Customers
Partners
Contact us
Newsroom
Pricing
About us
Careers
Resource center
Blog
Contact us
Try eXo
  1. Accueil
  2. workplace
  3. How important is cache tuning in eXo Platform?

How important is cache tuning in eXo Platform?

Exo Platform uses caches for almost all applications. Therefore, how an application performs can be significantly affected by the cache settings.

This article will help you understand the importance of cache tuning in eXo Platform and how to find the best settings for your installation.

Why is cache tuning important? Do the default settings fit all eXo Platform installations?

eXo Platform can scale from laptop demos to a multi-server with hundreds of thousands of users. But the default settings are preconfigured for demo and test purposes only. These default values ensure that we avoid JVM out of memory errors – when memory consumption exceeds the maximum allowed memory size.

This is why the preconfigured cache parameters are set to be small. However, increasing the JVM max heap size will not necessarily help to improve performance if you do not tune cache parameters correctly switch the Platform usage.

To give a common example, setting JVM max heap size to 16GB without cache tuning could lead to using just 5GB, when the application needs more. You need to remember that the cache maximum size (maximum objects per cache) is limited and doesn’t directly correlate with the JVM max heap size.

So the cache parameters couldn’t be common to all installations and should be determined switch your installation use cases.

What happens if I don’t change the default values?

If the cache size parameter is limited to 30 entries and you have 40 entries to add in the cache, you will eventually observe a decrease in performance. This can happen for many reasons, but the most common is that the cache has reached its maximum allowed elements. At this point, the information required by the application must be retrieved from stores (e.g. RDBMS, LDAP) instead of the application cache.

This is more noticeable in cluster mode because of write and synchronisation messages between cluster members/nodes.

What should I take into account when increasing cache capacity?

If you increase the cache capacity, you should also increase the JVM max heap size.

What cache parameters can I tune?

Before you start to tune caches, you should estimate and calculate the following variables:

  • JVM Xmx and Xms.
  • Each cache entry consumption estimation in memory. You can estimate the size of cache objects by generating a heap dump.
  • The estimated maximum concurrent users that the system has to support. Some caches require as a minimum size the number of concurrent users, such as user’s activities cache and user’s people network cache.
  • The lifecycle of the cached objects for each cache. Is the cache content frequently changed?

These answers will help you to improve the behaviour, performance, capacity and horizontal scalability of your system.

In eXo Platform, there are three types of cache:

  • Java Content Repository (JCR; data, indexes, locks): no need to tune these – parameters are optimal for almost all conditions.
  • Identity management caches (IDM): no need to tune these – rarely used.
  • eXo Services: you can tune these following the instructions in this document.

How do I monitor cache statistics?

You can monitor cache size, miscount and hitcount using JMX. (An example of a cache MBean exo:portal=portal,service=cache,name=ActivitiesCache.)

For more information on eXo Platform’s management and monitoring gadgets, read this document.

Conclusion

I wanted to share with you how tuning caches can make the difference between a performing system and an installation that doesn’t work well. However, you will need to test this before going live.

As you probably know, no system should go live without a good monitoring system and performance benchmarking phase to ensure proper stability and scaling. Of course, there are many factors to consider in the performance benchmarking phase – such as network bandwidth, blocking operations and systems and RDBMS performance. Application caches is just another to add to the list.
If you need any help with this process, please don’t hesitate to ask our experts.


Join The eXo Tribe

Join The eXo Tribe


Register for our Community to Get updates, tutorials, support, and access to the Platform and add-on downloads. Sign in Now!

Boubaker Khanfir

Full-featured digital workplace with everything your employees need to work efficiently, smartly integrated for a compelling employee experience

  • Product
    • Software tour
    • Communication
    • Collaboration
    • Knowledge
    • Productivity
    • Open Source
    • Integrations
    • Security
  • Uses cases
    • Digital Workplace
    • Intranet software
    • Collaboration software
    • Knowledge management software
    • Entreprise Social Network
    • Employee Engagement platform
  • Roles
    • Internal Communications
    • Human Resources
    • Information Technology
  • Company
    • Product offer
    • Services Offer
    • Customers
    • Partners
    • About us
  • Resources
    • FAQs
    • Resource Center
    • Collaboration guide
    • What is a Digital workplace?
    • What is an intranet?
    • Employee engagement
  • Terms and Conditions
  • Legal
  • Privacy Policy
  • Accessibility
  • Contact us
  • Sitemap
  • Facebook
  • Twitter
  • LinkedIn
wpDiscuz