Improving Performance When Reclaiming Memory During Autorefresh Operations

As described Transaction Reclaim Operations in the Oracle TimesTen In-Memory Database Operations Guide, TimesTen resource cleanup occurs during the reclaim phase of a transaction commit.

To improve performance, a number of transaction log records are cached in memory to reduce the need to access the transaction log file in the commit buffer. However, TimesTen must access the transaction log if the transaction is larger than the reclaim buffer.

When you are using autorefresh for your cache groups, the cache agent has its own reclaim buffer to manage the transactions that are committed within autorefresh operations. If the cache agent reclaim buffer is too small, the commit operations during autorefresh can take longer than expected as it must access the transaction log file. To avoid any performance issues, you can configure a larger reclaim buffer for the cache agent so that the cache agent can handle larger transactions in memory at reclaim time.

When using an active standby pair replication scheme to replicate autorefresh operations, the replication agent applies the same autorefresh operations as part of the replication. Thus, the replication agents on both the active and standby nodes have their own reclaim buffers that should be configured to be the same size or greater than the cache agent reclaim buffer.

The ttDbConfig built-in procedure provides the following parameters for setting the maximum size for the reclaim buffers for both the cache agent and the replication agent. (The memory for the reclaim buffers are allocated out of temporary memory.)

  • CacheAgentCommitBufSize sets the maximum size for the reclaim buffer for the cache agent.

  • RepAgentCommitBufSize sets the maximum size for the reclaim buffer for the replication agent. You should configure the maximum size for the reclaim buffer on both the active and standby nodes. It is recommended that you set the size for the reclaim buffers to the same value on both nodes, but not required.

Note:

For more details, see ttDBConfig in the Oracle TimesTen In-Memory Database Reference.

To determine if you should increment the size for the cache agent reclaim buffer, evaluate the CommitBufMaxReached and CommitBufNumOverflows statistics provided by the ttCacheAutorefIntervalStatsGet built-in procedure. See Retrieving Statistics on Autorefresh Transactions.