Tuning the database cache

This section describes how you can enhance performance using the database cache feature, which is available in Transfer CFT 3.3.2 SP2 and higher.

Overview

For each new transfer, Transfer CFT retrieves information directly from the internal databases for dynamic objects as described below. This type of accessing generates a lot of file I/O operations for the cftpart, cftpart.idx, cftparm, and cftparm.idx files.

In an environment with high-performance file I/O, such as local SSD storage, frequently accessing these files is not an issue. However, on a multi-node Transfer CFT where the databases are located on a shared file system, such as NFS, this type of file accessing could have a significant impact on Transfer CFT's global performance.

To reduce file I/O operations, thus improving performance on a non-performant disk, we recommend that you enable the database cache. Doing so enables Transfer CFT to more quickly access the required objects.

Dynamic object considerations

Before implementing the database cache feature, note that it affects the management of dynamic objects such as transfer objects (CFTAUTH, CFTIDF, CFTXLATE, CFTSEND, CFTRECV, CFTEXIT,...), partner objects (CFTPART, CFTDEST,...), and the security object (CFTSSL direct=client). See Dynamic commands modification for more information.

If you modify an object that is already loaded in the cache, meaning the object was used to execute a transfer since the last Transfer CFT start up, your modifications are not taken into account for following transfers until you either restart Transfer CFT or execute the RECONFIG type=PARMCACHE command. See Clear the database cache.

Set the database cache size

You can manage the database cache size using the UCONF cft.server.parm.cache_size parameter. This parameter allows you to define the number of entries in the cache for the PARM and PART databases. Setting the value to zero disables the cache (default), and the maximum value is 1000.

If memory is not an issue on the machine where Transfer CFT is running, we recommend setting the cache size to the maximum value (1000). When setting the cache value to either 100 or 1000, Transfer CFT consumes no more than an additional 2 MB or 20 MB, respectively.

If you set the cache size to a value that is lower than the space needed to store all objects, used objects typically remain in the cache.

Clear the database cache

You can use the command RECONFIG type=PARMCACHE to clear the cache while Transfer CFT is running. After the commands executes, all modifications applied to dynamic objects are taken into account without restarting Transfer CFT.

For more information on the RECONFIG command, see Manage configuration updates.

Related Links