Optimize the XTRF Platform performance


Hardware tips

Is the server's hardware configuration enough?

  • Consider moving your database and/or operating system files to SSD drives for much better performance.

  • As an alternative to SSD drives, you could use hardware RAID with a battery-backed write cache.

Software tips

  1. Is the database located on fast disks and properly tuned? Default installations of PostgreSQL, especially the older ones, have rather minimal memory allocation, performance may be improved by changing a few settings, see: http://wiki.postgresql.org/wiki/Performance_Optimization. Particularly, you may want to change the following parameters in postgresql.conf:

    • work_mem = 24MB or even 32 if you have a lot of memory (multiply this by 20 to get actual memory usage in peaks)

    • synchronous_commit = off

    • shared_buffers = 512MB or more, depending on available RAM

  2. Are memory settings in standalone.conf.local (Linux) /  standalone.local.bat (Windows) file correct?

    • Were the settings from the old JBoss copied to the new one when upgrading?

    • Is memory allocation actually enough for your number of users? The default setting of 4 GB is about enough for 10 licenses (10 concurrent users).
      Check out the server requirements for your XTRF Platform in the Server requirements article.

    • In the  standalone.conf.local (Linux)  /  standalone.local.bat (Windows) file, the following line can be added:

      • on Linux:  JAVA_OPTS_ADDITIONAL="$JAVA_OPTS_ADDITIONAL -Xmx6G"

      • on Windows: set "JAVA_OPTS_ADDITIONAL=%JAVA_OPTS_ADDITIONAL% -Xmx6G"
        There you can also configure other memory-related flags.

    • In the standalone.conf.local (Linux)  /  standalone.local.bat (Windows) file, the following line can be added:

      • on Linux:  JAVA_OPTS_ADDITIONAL="$JAVA_OPTS_ADDITIONAL -XX:+UseLargePages"

      • on Windows: set "JAVA_OPTS_ADDITIONAL=%JAVA_OPTS_ADDITIONAL% -XX:+UseLargePages"
        This allows for using huge pages (see also in Java documentation).
        Please verify that your operating system and hardware support huge pages using. Otherwise, it might cause a negative impact on your system performance.

  3. In the xtrfDatabaseConfig.xml file, the following line can be changed:

    xtrfDatabaseConfig.xml
    <entry key="maxPoolSize">30</entry>

    This increases the maximum database pool size from 20 (default) to 30. This may be necessary for installations with a large number of concurrent users.

  4. Make sure that the code cache and metaspace size is enough and that there are no overflows.

  5. Are there any unnecessary virtual columns in use? Using them may influence the whole system's speed and particularly slow down opening Browses in which they're enabled.

  6. Are there any unnecessary periodic jobs in use? Using them may influence the whole system's speed.

  7. Are there any external programs accessing XTRF API? Turning them off may speed up the system.

  8. Are Audit Entries and History turned on? Turning them off will speed up the system.

Restart Your XTRF Platform Regularly

The best way to ensure that the XTRF Platform runs smoothly is to restart it regularly. It is strongly recommended to restart the XTRF Platform once a week. Even if your server machines are fast and follow the enterprise-class standard, this action closes all running software fixing troublesome issues. Mind that the XTRF Platform is a highly developed system with a complex architecture. Therefore, you might be unaware of unwanted processes running on your local machine. The restarting action allows you to clear out a server's memory and shut down any unruly processes and services.