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.
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.