Configuring Apache Web Server as Edge Cache for LiveCycle Performance

Even though Tomcat (the servlet and JSP container for JBoss) is a very capable HTTP server, fronting LiveCycle’s JBoss instance with the Apache Web Server provides additional benefits. One of these is the performance boost provided by the caching of HTML pages, images, Javascript files, Flash SWF files etc. on the Apache Web Server so that the JBoss server does not have to waste its CPU cycles serving up these.

If you don’t have the Apache Web Server installed yet, you can download it from here. These instructions assume that you are using version 2.2

First, Apache Web Server has to be configured to front JBoss. Instructions here.

Enabling caching is fairly straightforward. You don’t need to do anything on the Tomcat/JBoss end. Edit the Apache Web Server’s configuration file (httpd.conf) using a text editor.

1) Enable mod_mem_cache by removing the comment against the following entry:
LoadModule mem_cache_module modules/mod_mem_cache.so

2) Configure the cache by adding the following to the end of the httpd.conf file:
# http://httpd.apache.org/docs/2.2/en/mod/mod_mem_cache.html
<IfModule mod_mem_cache.so>
  CacheEnable mem /
  MCacheSize 40096
  MCacheMaxObjectCount 1000
  MCacheMinObjectSize 1
  MCacheMaxObjectSize 20048
</IfModule>

3) Save the file.

4) Re-start Apache Web Server

5) Access LiveCycle URLs such as /adminui multiple times.

5) Verify by checking the Apache Web Server access log. Instead of HTTP status codes such as 200, there should be more 304 codes logged. See here for more on HTTP Status Codes.


We received the following comment from Howard Treisman of Avoka Technologies:

“….This approach creates an interesting problem when rendering form guides. The problem is that LC Forms returns a web page that references the swf and Javascript files on LiveCycle server’s hostname, and the client’s browser cannot access the LiveCycle server directly, because it is behind the firewall – it can only see the Apache server.

We’ve had to solve this by either re-writing the html page, or by creating a forwarding service on the Apache server. I can’t quite remember whether the issue was fully qualified pathnames including hostnames, or something else. I do know that there is a problem with this. A second problem is that Workspace (or Forms?) renders form guides and Flex forms using a unique URL each time it is requested. This means that even though the contents of the SWF is identical each time, it is treated as a different file, and will not be cached by either Apache or the client’s browser.”

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)
This entry was posted in Adobe LiveCycle ES. Bookmark the permalink.

Comments are closed.