
Caching up for peak performance with MXAE
A very common concern with dynamic websites is the perception that they are relatively slower to load compared to a static websites serving plain vanilla HTML file. Although there may be some truth in the statement, it however does not mean that a plain static HTML website is the best choice. Dynamic websites are mushrooming everywhere in the internet because of its benefits of providing interactivity and targeting to users. This means a dynamic website can cater for differing groups of users in a way that a one version only static website is not able to. Therefore, the key question is not whether we should abandon building a dynamic website but a question of how we can optimise a site so that its performance and speed is comparable to a static website if not better.
Why Cache
One of the answers lies in the intelligent use of caching functionality. As with all things, there are many methods to cache data for optimizing web performances depending on the situation. With the right caching strategy, a website may experience a dramatic improvement in loading speed. The topic of caching covers a lot of ground from server side caching to client side caching and can even include proxy caching. This article will concentrate on the functionalities that MXAE provide to help get you started with improving your website performance right away. If you would like to know more about general web caching, this site should be a good starting ground.
MXAE provides many options to help you make caching less painful and easily implementable.
Page Accelerator
The first type of caching that can be easily configured and automatically implemented within MXAE is through the use of the "Page Accelerator" module in AMS. This module within the AMS allows for users to select pieces of content that they would like to have caching enabled. For example an administrator can enable caching of binary data and attachments within the website so that downloading them can be faster. Alternatively, the administrator can decide to setup caching of content for the home page programs so that the articles are readily available without fetching it from the database. For a very heavily accessed site, setting of the expiry even for a 5 seconds period will help to offload a lot of processes while skill keeping the content fresh, albeit with a 5 seconds delay.
In summary, the first type of caching that are readily available on MXAE is through a built in Page Accelerator module that allows for caching of content. This method of caching helps speed up the website by not overloading the database processes with queries while keeping frequently used content in memory longer.
Configuring Website Properties
Website Properties
- publisherCacheControl1, publisherCacheControl2
These settings will manipulate the header sents for the particular content so that browsers will keep a copy of the content locally. The next time a user wants to browser the cached content, instead of requesting it from the server, the browser will just bring up a copy of the cached content and thereby saving bandwidth on the server while 'improving performance' from the user's perpective.
- publisherOutputCompression
This setting will instruct MXAE publisher to compress any output to be sent to the client and hence speed up delivery of the content because of its smaller size. It should be noted however that your web page may appear longer to load if it does a lot of processing since compression can only be done after getting all the content.
- publisherOutputBuffering
This setting will turn on buffering so that all the output from the server will only be sent to the client browser all at once. This will speed up delivery of the web page data to client but again it may take a long time to load if there are a lot of processing involved for the website.
- publisherInternalCache
This is the number of seconds to set for caching of publisher internal data. This helps to improve internal processing and thereby helps improve website performance
Going into the code
Finally for an even lower level of control, implementers of the websites can further use the MXAE API or through the TSL (MXAE Template Scripting language) to control which actual templates or elements to be cached. This is the lowest level of control as individual code fragments as well as whole templates can be selectively cached to optimize performance.Some examples of setting a cache setting includes:
- <!--[template cache=3600 code="header"]--> (This will cache the output of the header template for 1 hour)
- <!--[list mode="article" parent="hotsite" cache=300]--> (This will cache the articles for 5 minutes)
MXAE Release News
MXAE 2.7.5 Released ![]() |
![]() |
Tips & Tricks
MXAE Server - Changing IP(s) ![]() |
![]() |