+

Search Tips   |   Advanced Search

Configure dynamic cache disk offload

Use this task to configure dynamic cache disk offload, which saves cache entries that are deleted from the memory cache to disk.

By default, when the number of cache entries reaches the configured limit for a given application server, cache entries are removed from the memory cache, allowing newer entries to be stored in the cache. Use disk offload to copy the cache entries that are being removed from the memory cache to disk for potential future access.

(zos) We can use disk offload if we have one or multiple servants in the application server. For more information about enabling and disabling multiple servants, see Enable multiple servants on z/OS.

To improve dynamic cache disk offload performance, use only one hard drive per JVM.

  1. In the console, click Servers > Server Types > WebSphere application servers > server_name > Container services > Dynamic cache service .

  2. Select Enable disk offload.

  3. After you enable the disk offload, we can set the Disk offload location. The disk offload location specifies where to save the cache entries on the disk. The disk offload location must be unique for any application servers defined on the same node. If we have multiple servers defined on the same node, make sure the disk offload location is different for each server.

  4. Enable Flush to disk if we want cache objects that are in memory to be saved to disk when the server is stopped. Disk offload must be enabled if you choose this option. If we do not enable flush to disk, all the cache objects are deleted when the server stops.

  5. Click Apply or OK.

  6. Restart WebSphere Application Server.


Results

You enabled disk offload. Memory cache entries are moved to disk for potential future access.

When we have two or more application servers with servlet caching enabled and the application servers specify the same disk offload location for their caches through the dynamic cache service, the following exceptions might occur:

java.lang.NullPointerException
       at com.ibm.ws.cache.CacheOnDisk.readTemplate(CacheOnDisk.java:686)
       at com.ibm.ws.cache.Cache.internalInvalidateByTemplate(Cache.java:828)

or:

java.lang.NullPointerException
       at com.ibm.ws.cache.CacheOnDisk.readCacheEntry(CacheOnDisk.java:600)
       at com.ibm.ws.cache.Cache.getCacheEntry(Cache.java:341)

If one server is run as root and the other servers are run as non-root, this problem could occur. For example, if server1 runs as root and server2 runs as wasuser or wasgroup, the cache files in the disk offload location might be created with root permissions. This situation causes the applications running on the non-root servers to crash when they try to read or write to the cache.


Subtopics


Related tasks

  • Use the dynamic cache service
  • Configure Edge Side Include caching

  • Dynamic cache service settings