Preventing Memory Queues from Overflowing
In a well-tuned Enterprise Replication system, the send queue and receive queue do not regularly overflow from memory to disk. However, if the queues in memory fill, the transaction buffers are written (spooled) to disk. Spooled transactions consist of transaction records, replicate information, and row data. Spooled transaction records and replicate information are stored in the transaction tables and the replicate information tables in a single dbspace. Spooled row data is stored in one or more sbspaces.
About this task
- Receiving server is down or suspended.
- Network connection is down.
If the receiving server or network connection is down or suspended, Enterprise Replication might spool transaction buffers to disk.
To check for a down server or network connection, run cdr list server on a root server. This command shows all servers and their connection status and state.
- Replicate is suspended.
If a replicate is suspended, Enterprise Replication might spool transaction buffers to disk.
To check for a suspended replicate, run cdr list replicate. This command shows all replicates and their state.
- Enterprise Replication is replicating large transactions.
Enterprise Replication is optimized to handle small transactions efficiently. Very large transactions or batch jobs force Enterprise Replication into an exceptional processing path that results in spooling. For best results, avoid replicating these types of transactions.
- Logical log files are too small or too few.
If the logical log files are too small or the number of logical log files is too few, Enterprise Replication is more likely to spool transaction buffers to disk.
- Server is overloaded.
If a server is low on resources, Enterprise Replication might not be able to hold all transactions that are replicating from a source server in memory during processing, and the transactions spool to disk.
If transactions spool to disk, check the system resources; in particular, check disk speed, RAM, and CPU resources.