Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...



To refresh the list to see the latest queries, click [Refresh this page]. To clear the list, click [Clear list].

 

Back to top

 

...

Improving System Performance

This section describes the reason(s) that a system indicator may display a status of orange or red and the steps you can take to investigate the matter and change your XperienCentral settings in order to improve your website's performance.

Caching

If caching is enabled in XperienCentral, a green indicator is shown and if it is disabled, a red indicator is shown. Caching allows XperienCentral to handle the load created by many page requests by using an intelligent mechanism that returns pages without having to regenerate them completely every time they are requested. In all cases, caching improves website performance and it is highly recommended that you enable it for your website.

To enable/disable caching, run the Setup Tool. On the [General configuration] tab, navigate to the "Frontend_System_Settings" section and select "allow_cache":



For more information on caching in XperienCentral, see the Caching document (ID GXD0029) available from the GX Connect site.

Adjusting Timestamp Caching

The caching module of XperienCentral stores a timestamp in the timestamp database for each cached web page. This timestamp is needed in order to determine whether the web page needs to be regenerated or whether it can be retrieved from the cache. For high volume websites, the number of web page requests per second can be so high that even the relatively simple task of performing one SQL query to retrieve this timestamp from the database can cause a bottleneck. If this exceeds 500 milliseconds, it may indicate a performance issue.

To prevent timestamp retrieval from becoming a bottleneck, timestamps can be cached in memory for <n> milliseconds. Note that this also causes a delay of <n> milliseconds; during the <n> milliseconds, modified web pages will not be regenerated. It is recommended that you set timestamp caching to at least 5000 milliseconds (5 seconds).  If you set timestamp caching to fewer than 5000 milliseconds, this can cause database bottlenecks especially for websites that experience a large number of page requests.

Timestamp caching is configured in the XperienCentral Setup Tool. Navigate to the "Frontend System Settings" section of the [General configuration] tab:

Lowering Page Response Times

Page response time performance for pages returned from the cache as well as pages generated by the Page Generator is measured in the following way:

IndicatorValue   
Largest page response timemillisecondsLess than or equal to 1000Between 1000 and 49995000+
Average response timemilliseconds0-99101-499500+

Large Response Times for Individual Pages

A large page response time can be caused by many factors, for example pages that contain several complicated components (page sections, etc.) that take time to generate from the JSP.  If a particular page has an unusually large response time compared to other pages, you can be fairly certain that there is an issue with the page itself. Check the contents of the page to see what could be causing it to take longer to generate and/or load. You should also compare the structure and content of a page with a large response time with other similar pages on your website that do not have a large response time. This can help to identify what the cause or causes are that make the particular page take more time to generate or load.

Caching settings for individual page parts can be configured independently of each other. If the caching timeout for one or more page parts is set to a low threshold, this can cause the page response time for a page with several page parts to increase. Check the caching timeout for the page parts that make up the page experiencing large response times in order to ensure that the page section is not generated more often than needed.

Large Average Response Time

If the average response time is high, it could indicate a more fundamental problem with the website itself, the webserver(s) in the production environment and/or the database(s) being used for the website. If other processes are competing with the XperienCentral components on the production web server, this can cause the average page response times to increase. Check the configuration of your web server to see whether there are too many processes running on it. Is the XperienCentral deployment running on a single server or in a clustered environment? If XperienCentral is running on a single server, both the Edit environment as well as the frontend have to share the resources. It is highly recommended that you run XperienCentral in a clustered for the following reasons:

  •  Performance: more servers means more capacity to generate pages for visitors of the website and for the website editors to make changes to the website.
  •  Security: The edit environment can be separated from the website frontend.
  •  Fail-over: Prevents the website from becoming unreachable if a server goes offline.

A large average response time can also be caused by XperienCentral caching settings. If caching is disabled, every time a page is requested it must be generated. This can lead to large page response times, especially if your website has many visitors simultaneously requesting pages. See the section on XperienCentral caching for more information.

Lowering Query Execution Times

Query execution time is measured in the following way:

IndicatorValue   
Slowest Queriesmilliseconds500Between 500 and 20002000+

Query execution time that exceeds 500 milliseconds may indicate a performance issue. The list of the slowest queries contains both internal XperienCentral queries as well as queries that have been developed especially for your web site. If a query that you have developed is especially slow compared to other queries or is consistently slow, you might want to examine it carefully to see whether it is possible to restructure it for greater efficiency.

Lowering the Average Query Execution Time

Average query response time is measured in the following way:

IndicatorValue   
Average query execution timemilliseconds0-500501-19992000+



If the average query execution time is higher than 501 milliseconds, it could indicate a fundamental problem with the performance of the database that XperienCentral is using. If other applications are using the same database as XperienCentral, this can cause the average query execution time to increase. If you consistently experience high average query execution times, you should investigate how the database you are using for XperienCentral is configured and whether it is functioning correctly/optimally.

Lowering Cache Ratio

The average cache ratio is measured in the following way:

IndicatorValue   
Average cache ratiopercent10+between 1 and 9less than 1



A cache ratio that is less than 10 indicates that XperienCentral is having to generate a large number of pages instead of retrieving them from the cache. This can be because:

  • Caching is not enabled.
  • Some page parts have too low of a cache threshold. The page parts that are used to construct a XperienCentral page can each have an individual cache timeout setting. The caching timeout threshold determines when the page part should be regenerated from the JSP. If one or more page parts, especially those that appear on many pages is regenerated more often than necessary, this can cause the cache ratio to decrease because more pages have to be generated instead of being retrieved from the cache.

When investigating why the average cache ratio is low, pay particular attention to pages that have particularly small average cache ratios in the Page cache ratio tab. Examine the structure of these pages in the Edit environment in order determine why they have to be regenerated more often than other pages. It is possible that the caching timeout for these page parts is unnecessarily short.

Setting Debug Options

The XperienCentral debug options are useful during the website development phase but should not be enabled on a live website because they can slow down performance. The possible statuses of the debug option in the dashboard are:

Indicator  
Debug optionsAll debug options are disabled.One or more debug options is enabled. 

To enable/disable the XperienCentral debug options that affect performance, run the Web Manager Setup Tool. On the [General configuration] tab, navigate to the "Development_Settings". Clear the checkbox for "enable_debug_messages". Note: In a production environment, the setting "enable_view_resolve_cache" should be selected.




Setting the Log Level

The level at which you log messages has a direct effect on system performance. Each time a system event is logged, a small performance hit occurs. Logging messages of type SEVERE affects the system the least whereas logging at the INFO level can cause the system to slow down due to the sheer volume of messages that are written to the log. The effect that the logging level has on XperienCentral performance is indicated as follows.

Indicator   
Log levelSEVEREWARNINGINFO


To change the log level, follow these steps:

  1. Open the <Tomcat root>\conf\logging.properties file.
  2. At the end of the file, the following lines should appear. If they do not, add them.
    • org.apache.jackrabbit.core.level = <level>
    • org.apache.jackrabbit.core.state.level = <level>
    • nl.gx.XperienCentral.level = <level>
    • org.apache.jackrabbit.level = <level>
    • org.quartz.level = <level>
    • org.springframework.level = <level>
  3. Substitute <level> with the level at which you want to log (SEVERE, WARNING, or INFO) - Logging at the level SEVERE is recommended.

Creating custom performance indicator tabs

In addition to the four default tabs, you can develop and extend the XperienCentral Performance Dashboard using custom WCB's. See the WCB Tutorial document available from the GX Connect website.