Cache is king

Cache plays a very important role in the performance of Mobile Form or for that matter any component. Mobile Form caches all the intermediate objects required to process (rendition or submission) a form on first request. It doesn’t cache the objects dependent on the data as they are very likely to change.

Mobile Form maintains two different levels of cache. The flow goes like this as depicted in the flow diagram:

1) From the request it picks up the template and resolves its fragments and images.

2) The resolved template (with referred fragment and images) along with the dependency list (of images and fragments) is store in the cache. This cache store is called PreRender Cache as it stores entities and artifacts generated before final rendering.

3) Now this resolved template is used to generate the  rendered content like HTML and stored in the cache again. This cache store is called Rendered Cache and it stores rendered content.

CacheWorkflow

Mobile Form doesn’t cache the templates that have missing references to fragments or images. So if you notice Mobile Form is taking way too much time, then please check the server logs if there are missing reference warning.

Another reason for ignoring artifacts for cache is the size of the object. In fact, one can configure the maximum size of the object that is to be cached. Please refer to Mobile Form Configuration post for more details.

The Mobile Form admin should configure the Cache size and max object size based on the requirements. We have test data that shows cached rendering is as much as 1000 times faster than non cached rendering. So please make sure all your important forms are using cache.

One Response to Cache is king

  1. Excellent article! I would love to see a similar explanation for LiveCycle Forms/Output PDF generation.

    Thanks for the great info.

    Regards,
    Rob

Leave a Reply

Your email address will not be published. Required fields are marked *


nine − = 3

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>