As of version 2.6, Webform Server offers a more dynamic user experience, similar to the one offered by IBM
® Forms Viewer. Essentially, Webform Server now automatically updates some computed elements or performs automatic refreshes instead of requiring manual refreshes by users.
To do this, Webform Server caches a number of forms in memory. While those forms are in memory, the dynamic form items refresh automatically with little delay. However, once the limit of the cache is reached, Webform Server begins to write the older forms to disk, which will slow server performance and response times on those forms.
The number of forms that Webform Server holds in memory is configurable. However, to maximize the performance of your application, you must determine the size of the form cache in memory. The default size is 30 forms. This presumes the following configuration:
- Single instance of Webform Server
- 4 GB of RAM
- Minimum heap size for the JVM process set to 256 MB (-Xmx)
- Maximum heap size for the JVM process set to 512 MB (-Xmx)
- Average form size of 50 MB (once loaded into RAM)
The following calculations determine the default size of the form cache:
- Under a 32-bit architecture, Windows™ can address up to 4 GB of virtual memory. 2 GB of that memory is reserved by the Windows operating system, with the remaining 2 GB available for the Webform Server process.
- Of the 2 GB of memory available to the Webform Server process, 512 MB is reserved for the JVM (-Xmx), leaving 1.5 GB of native memory available for the form cache and other native libraries.
- 1.5 GB of memory, divided by an average form size of 50 MB (after being loaded into RAM), allows 30 forms per server.
Smaller forms, with fewer pages, fewer items per page, less logic, and fewer computes may have a smaller average form size in memory. By the same token, larger, more complicated forms will have a larger form size. Be sure to take the size of your forms (after being loaded into RAM) into consideration when calculating how many forms you can maintain in the form cache.
For example, if your form size in memory is 100 MB, then you could set fcCacheSize
Do not set fcCacheSize
so all available memory will be used. For example, if your form is 100 MB, instead of setting fcCacheSize
to 15, set it to 12. This will allow a certain margin of safety to ensure that available memory is never fully used.
™ servers allocate less virtual memory to the operating system, you can increase the size of the form cache to 50 forms, as shown by the following calculation:
- With 4 GB of virtual memory, 1 GB of virtual memory is reserved by the UNIX operating system, leaving 3 GB available for the Webform Server process.
- Of the 3 GB of memory available to Webform Server, 512 MB is reserved for JVM (-Xmx), leaving 2.5 GB of native memory available for the form cache and other native libraries.
- 2.5 GB of memory, divided by an average form size of 50 MB allows 50 forms per server.
Do not set fcCacheSize
to 0. This is not a recommended setting. A form cache of 0 will prevent any forms from being stored in memory and will force them to be stored on disk. This results in slower response times when tabbing through formatted fields and executing computes.
For information on determining a form's size in memory, see Measuring a form's size in memory
For more suggestions on how to optimize Webform Server's performance, see Performance
Changing the Java Heap SizeParent topic: Configuring Webform Server
™ heap size determines how much memory should be reserved for the JVM process. By default, Webform Server sets both the initial and the maximum Java
heap size (-Xms and -Xmx settings) to 50 MB
, although the default -Xms and -Xmx values are blank. This should be sufficient for most Webform Server deployments.
Changing the Size of the Form Cache
If you are using a UNIX
server or your configuration differs from the one used to calculate the default size, you will need to change the size of your form cache.
Cleaning and Synchronizing the Form Cache
property determines how frequently the form cache is cleaned and synchronized with the disk cache. The default time is 60 seconds. You should maintain this default time unless you are running Webform Server on a clustered system. For clustered environments, this value should be lowered to ensure that the form cache and disk cache remain synchronized.