Docbase cache parameters

The cache parameters (stored in the <Cache> element) control how TEXTML Server manages the cache memory.

These values should not be changed without guidance from IXIASOFT Customer Support.

Table 1. Docbase cache parameters
Parameter name Default value Description
FlushFrequency 10 Specifies the time interval, in seconds, at which the flush thread wakes up to see if there is anything to be written to disk.
PoolSize 4 To optimize performance, the TEXTML Server cache is allocated in memory "pools". This value specifies the size of the respective pools, in megabytes. Do not change this value.
LRUTimeOut 300

To clean the cache, TEXTML Server uses a strategy of less recently used (LRU) pages by which a page that has been unused for the specified length of time (in seconds) becomes a candidate to be removed from memory.

DefragCache True If True, used to reallocate pages from one memory pool to another in order to free up space for the OS.
WaitBeforeFlush 5 Specifies the number of seconds of page inactivity after which TEXTML Server will consider that it can write the page to disk. Because writing a page to disk triggers the use of an exclusive lock on the page, and because flushing a page is a long process, TEXTML Server tries to flush a page to disk when there is less activity on the page.
ShrinkPercentage 10 Specifies the percentage of cache space that TEXTML Server tries to reduce when doing cache eviction. Cache eviction is done after a cycle of write and after the FlushFrequency time interval.
LeaveFree 1500 Specifies the amount of physical memory, in megabytes, that TEXTML Server tries to keep free in the overall system by adjusting the cache size. This value configures TEXTML Server to use the memory that is available; using this parameter can be useful when you cannot predict how much RAM will be available on the system (for example, in a cluster failover).

LeaveFree is ignored if a value is specified in CacheMaximumMemory.

PermanentCacheToUse 80 Ensures that even when there is a lot of I/O activity, causing Windows to allocate a large portion of system cache, that TEXTML Server will still behave as if there is the specified amount of system memory available. This parameter applies to Windows only.
ReduceCacheOnIdle True If True, instructs TEXTML Server to reduce the cache size when there is no write activity.
CacheMaximumMemory 0 If set to a value other than 0, specifies the maximum amount of memory, in megabytes, that TEXTML Server may use. Note that TEXTML Server will try to reserve this memory, whether it is available or not. (See also ForceMainMemory.)

If set to 0, TEXTML Server ensures that the amount of memory specified by the LeaveFree parameter (in megabytes) is always available. The memory available is determined by adding the free physical memory available on the machine to a percentage of the cache available (according to the PercentCacheToUse value).

CacheMinimumMemory 1500 Specifies the minimum amount of memory, in megabytes, that TEXTML Server reserves for the cache.
ForceMainMemory True If True, forces Windows to allocate non-swappable memory. Therefore, if there are many processes on the server, and these processes use a lot of RAM, you may need to set this parameter to False for low-RAM deployments if you see performance issues.

This parameter applies to Windows only.

Trace False If True, used to increase the instruction fetch bandwidth and decrease power consumption (in the case of the Pentium 4) by storing traces of instructions that have already been fetched and decoded.
AllocateMultiplePools True Specifies whether a docbase uses multiple cache pools, which increases performance but requires more memory. See to True to use this feature.

Set to False if your deployment uses a low-RAM server (less than 10 Gig) and more than one docbase is installed on this server.

DefragCacheFrequency

DefragCacheMaxRunTime

DefragCacheRatio

n/a Internal parameters. Do not modify unless requested by IXIASOFT.