Tuning URL invocation cache
The URL invocation cache holds information for mapping request URLs to servlet resources. This cache is Web container-based, and shared for all Web container threads. A cache of the requested size is created for each Web container thread available to process a request. The default size of the invocation cache is 500. If more than 500 unique URLs are actively being used (each JavaServer Page is a unique URL), we should increase the size of the invocation cache.
A larger cache uses more of the Java heap, so we might also need to increase the maximum Java heap size. For example, if each cache entry requires 2KB, maximum thread size is set to 25, and the URL invocation cache size is 100; then 5MB of Java heap are required.
To change the size of the invocation cache:
Tasks
- In the administrative console, click...
Servers > Server Types > WebSphere application servers and select the application server that we are tuning.
- Click Java and Process Management.
- (iSeries) Click Process Definition under Additional Properties.
- Click Process Definition under Additional Properties, and then select either control or servant depending on whether we want this property defined in the control or the servant.
- Click Java Virtual Machine under Additional Properties.
- Click Custom Properties under Additional Properties.
- Specify invocationCacheSize in the Name field and the size of the cache in the Value field. The default size for the invocation cache is 500 entries. Since the invocation cache is no longer thread-based, the invocation cache size specified by the user is multiplied by ten to provide similar function from previous releases. For example, if we specify an invocation cache size of 50, the web container will create a cache size of 500.
- Click Apply and then Save to save the changes.
- Stop and restart the application server.
The new cache size is used for the URL invocation cache.