Dynamic cache service settings


 

+

Search Tips   |   Advanced Search

 

Overview

To configure and manage the dynamic cache service settings.


Settings

Enable servlet caching

The dynamic servlet cache service starts when servlet caching is enabled in Web Container panel.

Enable portlet caching

Start the dynamic portlet cache service by enabling servlet caching, then, enabling portlet fragment caching under Portlet Container panel.

Cache provider

Whether to configure the server to use the dynamic cache or an alternate stack product cache provider.

If we use WebSphere eXtreme Scale, certain features of the dynamic cache service are disabled.

Cache size

Maximum number of entries that the cache holds.

Enter a cache size value in this field that is between the range of 100 through 200,000.

Default priority

Default priority for cache entries, determining how long an entry stays in a full cache.

Default 1
Range 1 to 255

Limit memory cache size

Size of the memory cache.

Constrain the cache in terms of the JVM heap. In addition to specifying the cache size in MB, dynamic cache will also enable you to set a high watermark and low watermark for the cache heap that is consumed. When the cache heap memory reaches the high watermark, dynamic cache will either discard or LRU to disk, until the cache is brought down to the low watermark. This functionality of limiting the cache in terms of the JVM heap is only available if the objects that are put into the cache implement the sizeable interface. This interface has one method that returns the size of the object in bytes put into the cache. Dynamic cache will use the sizeable interface to estimate the heap size of the cache.

Default -1 to disable limiting the memory cache size
Range 1 to maximum integer

Memory cache size

    High threshold High watermark when the memory cache eviction policy starts. The threshold is expressed in terms of the percentage of the memory cache size in megabytes (MB). The default value is 95%

    Values 1 to 100

    Low threshold Low watermark when the memory cache eviction policy ends. The threshold is expressed in terms of the percentage of the memory cache size in megabytes (MB). The default value is 80%.

    Values 1 to 100

Enable disk offload

Whether disk offload is enabled.

By default, the dynamic cache maintains the number of entries that are configured in memory. If new entries are created while the cache is full, the priorities that are configured for each cache entry, and a least recently used algorithm, are used to remove entries from the cache. In addition to having a cache entry removed from memory when the cache is full, we can enable disk offload to have a cache entry copied to the file system (the location is configurable). Later, if that cache entry is needed, it is moved back to memory from the file system.

Before you enable disk offload, consider the following:

  • We cannot specify the number of cache entries that are offloaded to disk.
  • We cannot specify the amount of disk space to use.

Offload location

Location on the disk to save cache entries when disk offload is enabled.

If disk offload location is not specified, the default location is used...

    ${WAS_TEMP_DIR}/node/server/_dynacache/cache_JNDI_name

If disk offload location is specified, the node, server name, and cache instance name are appended.

For example...

    ${USER_INSTALL_ROOT}/diskoffload

...generates the location as...

    ${USER_INSTALL_ROOT}/diskoffload/node/server/cache_JNDI_name

This value is ignored if disk offload is not enabled.

The default value of the ${WAS_TEMP_DIR} property is...

    ${USER_INSTALL_ROOT}/temp

If we change the value of the ${WAS_TEMP_DIR} property after starting WAS, but do not move the disk cache contents to the new location:

  • The appserver creates a new disk cache file at the new disk offload location.
  • If the Flush to disk setting is enabled, all of the disk cache content at the old location is lost when you restart the appserver

When specifying a directory, consider the following:

  • If we expect to cache a large number of objects or large objects that will be around for some time, consider using a separate disk drive if we are using Windows operating systems, or a separate file system if we are using UNIX platforms.

  • If we use the default directory and the disk fills up, WAS could possibly stall if it needs to write messages to log files, and there is no more space.

  • [AIX] [HP-UX] [Linux] [Solaris]

    If we specify a directory such as /tmp on UNIX platforms and that directory fills up, you may have trouble logging onto the system.

  • Depending on the operating system, you may see disk full messages on the console.

Flush to disk

Specifies if in-memory cached objects are saved to disk when the server is stopped. This value is ignored if Enable disk offload is not selected.

Default false

Limit disk cache size in GB

Maximum disk cache size in GB. When you select this option, we can specify a positive integer value. Leaving this option blank indicates an unlimited size. This setting applies only if enable disk offload is specified for the cache.

Value 3 and above.

Limit disk cache size in entries

M disk cache size in number of entries. When you select this option, we can specify a positive integer value. Leaving this option blank indicates an unlimited size. This setting applies only if enable disk offload is specified for the cache.

Value 0 to MAXINT. A value of 0 indicates unlimited size.

Limit disk cache entry size

M size of an individual cache entry in MB. Any cache entry larger than this, when evicted from memory, will not be offloaded to disk. When you select this option, we can specify a positive integer value. Leaving this option blank indicates an unlimited size. This setting applies only if enable disk offload is specified for the cache.

Value 0 to MAXINT. A value of 0 indicates unlimited size.

Disk cache performance settings

Level of performance that is required by the disk cache. This setting applies only if enableDiskOffload is specified for the cache. Performance levels determine how memory resources should be used on background activity such as cache cleanup, expiration, garbage collection, and so on. This setting applies only if enable disk offload is specified for the cache.

High performance and high memory usage Indicates that all metadata will be kept in memory.
Balanced performance and balanced memory usage Indicates some metadata will be kept in memory. This is the default performance setting and will provide an optimal balance of performance and memory usage for most users.
Low performance and low memory usage Indicates that limited metadata will be kept in memory.
Custom performance Indicates that the administrator will explicitly configure the memory settings that will be used to support the above background activity. The administrator sets these values using the DiskCacheCustomPerformanceSettings object.

Disk cache cleanup frequency

Specifies a value for the disk cache cleanup frequency, in minutes.

If this value is set to 0, the cleanup runs only at midnight. This setting applies only when the Disk Offload Performance Level is low, balanced, or custom. The high performance level does not require disk cleanup, and this value is ignored.

Value 0 to 1440

Maximum buffer for cache identifiers per metaentry

M number of cache identifiers that are stored for an individual dependency ID or template in the disk cache metadata in memory. If this limit is exceeded the information is offloaded to the disk. This setting applies only when the disk offload performance level is CUSTOM.

Value 100 to MAXINT

Maximum buffer for dependency identifiers

M number of dependency identifier buckets in the disk cache metadata in memory. If this limit is exceeded the information is offloaded to the disk. This setting applies only when the disk cache performance level is custom.

Value 100 to MAXINT

Maximum buffer for templates

M number of template buckets that are in the disk cache metadata in memory. If this limit is exceeded the information is offloaded to the disk. This setting applies only when the disk cache performance level is custom.

Value 10 to MAXINT

Disk cache eviction algorithm

Eviction algorithm that the disk cache will use to evict entries once the high threshold is reached. This setting applies only if enable disk offload is specified for the cache. This setting does not apply when the disk cache eviction policy is set to none.

None No eviction policy, so the disk cache can grow until it reaches its limit at which time the dynamic cache service stops writing to disk
Random When the disk size reaches a high threshold limit, the disk cache garbage collector wakes up and randomly picks entries on the disk and evicts them until the size reaches a low threshold limit.
Size When the disk size reaches a high threshold limit, the disk cache garbge collector wakes up and picks the largest entries on the disk and evicts them until the disk size reaches a low threshold limit.

High threshold

Specifies when the eviction policy runs. The threshold is expressed in terms of the percentage of the disk cache size in GB or entries. The lower value is used when limit disk cache size in GB and limit disk cache size in entries are specified. This setting does not apply when the disk cache eviction policy is set to none.

Values 1 to 100

Low threshold

Specifies when the eviction policy will end. The threshold is expressed in terms of the percentage of the disk cache size in GB or entries. The lower value is used limit disk cache size in GB and limit disk cache size in entries are specified. This setting does not apply when the disk cache eviction policy is set to none.

Values 1 to 100

Enable cache replication

Use cache replication to have cache entries copied to multiple appservers that are configured in the same replication domain.

Full group replication domain

Specifies a replication domain from which the data is replicated.

Choose from any replication domains that have been defined. If there are no replication domains listed, create one during cluster creation or manually in the admin console by clicking...

    Environment | Internal replication domains | New

The replication domain you choose to use with the dynamic cache service must be using a Full group replica.

Do not share replication domains between replication consumers. Dynamic cache should use a different replication domain from session manager or stateful session beans.

Replication type

Global sharing policy for this appserver.

The following settings are available:

Both push and pull Sends the cache ID of newly updated content to other servers in the replication domain.

If one of the other servers requests the content, and that server has the ID of the cache entry for the previously updated content, it will retrieve the content from the publishing server.

If a request is made for an ID which has not been previously published, the server assumes it does not exist in the cluster and creates a new entry.

Push only Sends the cache ID and cache content of new content to all other servers in the replication domain.
Not Shared The cache ID and cache content are not shared with other servers in the replication domain.

The default is Not Shared.

Push frequency

Time, in seconds, to wait before pushing new or modified cache entries to other servers.

A value of 0 (zero) sends the cache entries immediately. Setting this property to a value greater than 0 (zero) results in a "batch" push of all cache entries that are created or modified during the time period. The default is 1 (one).


WebSphere eXtreme Scale

If we use WebSphere eXtreme Scale, certain features of the dynamic cache service are disabled, including...





 

Related tasks

Task overview: Using the dynamic cache service to improve performance