The size of an outbound queue is calculated by the formula:
OutboundQueueSize = OutboundQueueVolume * (FailureDuration + SaveInterval)
where:
OutboundQueueVolume is the amount of data in bytes entering the queue per time period.
FailureDuration is the maximum time the queue is expected to buffer data for an unavailable site.
SaveInterval is the time the messages are kept in the queue before being deleted.
If an outbound queue with an OutboundQueueVolume of 18K per second has a SaveInterval of 1 hour, and is intended to withstand 1 hour of unavailability at the destination site, the size of the queue should be:
OutboundQueueSize = 18K/sec * (60min + 60min) = 0.018MB/sec * 120min * 60sec/min = 130MB
See “Outbound queue size” for a more detailed example of these calculations.
In practice, if the actual change rates and table selectivities result in less than a full 16K block being filled each second, then the figures calculated above are low. Replication Server writes a block every second, whether or not the block is full. The worst usage of queue space occurs when small transactions are executed more than a second apart. Statistics indicate that most blocks are from 50 percent to 95 percent full.