RAPCache performance tuning

Tuning the RAPCache database can increase overall system performance. Increasing the number of partitions per database table, CPUs (engines) in the database server and the cache size can significantly improve the overall system performance. For detailed information about RAPCache configuration parameters and performance tuning suggestions, please refer to the ASE documentation.

Adjusting these configuration parameters in rapcache.xml can affect the RAPCache message loading performance.

Table 1-3: RAPCache performance options.

Parameter

Description

TDSPacketSize

The TDS packet size affects the maximum size of the packets that are transmitted between the RAPCachee subscriber and the RAPCache database. Larger TDS packet size (8K or 16K) values reduce network communication overhead between the subscriber and the cache and help improve system performance.

To use a large TDS packet size, adjust these parameters in the RAPCache database:

  • Set the additional network memory parameter to allow for (TDSPacketSize x The number of loaders) additional memory. The number of loaders in the system will be the number of database tables x the number of partitions per table.

  • Set the max network packet size to allow for the packet size set in the RAPCache subscriber configuration. Additional information on these parameters can be found in the ASE documentation.

BulkInsertArraySize

This parameter affects the amount of buffer the RAPCache Subscriber will use before transferring data to the RAPCache. Large values for this parameter along with a large TDS packet size can result in reduced network overhead between the RAPCache and the subscriber. The value set for this parameter is constrained by overall system memory.

BulkBatchSize

Information loaded into the RAPCache is committed to the database periodically and made available to readers.

This parameter controls how much information can be loaded into the RAPCache before it is committed. Higher values of this parameter increase the latency of the system, and require the number of locks in the RAPCache to be increased to accommodate larger database transactions. Smaller values for this parameter introduce the extra overhead of frequently committing transactions to the database and result in slower load performance.

IdleBufferWriteDelayMSec

This parameter determines the number of milliseconds to wait before data is transferred to the RAPCache when the system is not receiving data from the publisher. Low values of this parameter will ensure lower system latency in periods where the information flow is not steady.