Memory performance parameters for the configuration file
This section describes how to configure the IXIA TEXTML Server parameters that directly impact memory performance.
There are two methods for determining the maximum amount of memory that
                TEXTML Server can use at any time: using
            the CacheMaximumMemory parameter or using the LeaveFree parameter. 
Using CacheMaximumMemory
            
The CacheMaximumMemory parameter
            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. 
For example, if CacheMaximumMemory is
            set to 20 GB, but only 12 GB are physically available, TEXTML Server will be very slow, since the operating system will
            swap physical memory for memory on disk ("swap space"). Note that, if the
            Windows-specific parameter ForceMainMemory is set to
                True, TEXTML Server will crash, because the ForceMainMemory prevents Windows from swapping memory (applies to Windows
            only).
Using LeaveFree
                (i.e., setting CacheMaximumMemory is set to
            0)
When CacheMaximumMemory is 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). 
If the amount of memory available is less than the value of the LeaveFree parameter, then TEXTML Server reduces its cache to make sure that the amount of
            memory specified by the LeaveFree parameter is
            available. If the amount of memory available is more than the value of the LeaveFree parameter, then TEXTML Server will use the extra
            memory until it reaches the value of the LeaveFree
            parameter.
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).
It can nevertheless be an issue if TEXTML Sever is running on the same machine as other server software (e.g. SQL server) as this server will tend to force the reduction of TEXTML Server memory footprint by expanding its memory usage when under load. This is one of the reasons why it is not recommended to run TEXTML Server alongside other server software.
CacheMaximumMemory, the LeaveFree value is ignored. Recommended values
- Low RAM size: 10 GB of RAM
- Medium RAM size: 24 GB of RAM
- High RAM size: 64 GB of RAM
| Field | Description | Low | Med | High | 
|---|---|---|---|---|
|  | 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. | 1500 | n/a | n/a | 
|  | Specifies that when TEXTML Server exceeds its maximum memory allowed it should reduce its memory footprint when idle (strongly recommended to set as true). | True | True | True | 
|  | 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  | 0 | 20000 | 40000 | 
|  | This parameter applies to Windows only. | False (see note 1) | True | 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. | False | True | True | 
|  | Specifies the components of a docbase
                            that should be preloaded in memory when TEXTML Server is started. Valid
                            values are: 
 | None | Index | All | 
| Note: Setting  ForceMainMemorytoTrueforces 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 toFalsefor low-RAM deployments if you see performance issues. | ||||
Example for a high-RAM TEXTML Server
<TextmlServer>
   <Server>
    ...
   </Server>
   <DocumentBaseProperties>
      <Cache>
         <FlushFrequency>10</FlushFrequency>
         <PoolSize>4</PoolSize>
         <LRUTimeOut>300</LRUTimeOut>
         <DefragCache>True</DefragCache>
         <WaitBeforeFlush>5</WaitBeforeFlush>
         <ShrinkPercentage>10</ShrinkPercentage>
         <LeaveFree>0</LeaveFree>
         <PercentCacheToUse>80</PercentCacheToUse>
         <ReduceCacheOnIdle>True</ReduceCacheOnIdle>
         <CacheMaximumMemory>40000</CacheMaximumMemory>
         <CacheMinimumMemory>1500</CacheMinimumMemory>
         <ForceMainMemory>True</ForceMainMemory>
         <Trace>False</Trace>
         <AllocateMultiplePools>True</AllocateMultiplePools> 
      </Cache>
      ...
      <IndexPreviousVersionsInfo>False</IndexPreviousVersionsInfo>
      <Preload>All</Preload>
  ...