6.8 Synchronizing More Efficiently

You can configure synchronization updates to send only the necessary operations to another replica. Although sending an operation multiple times does no harm, packet creation and transmission is more efficient if you exclude operations that have already been imported at the receiving replica.

The chepoch -actual and sync_export_list -update commands contact a remote replica and update your current replica's record of the state of the remote replica. The primary use of these commands is to resend lost packets, but you can also use them to increase synchronization efficiency. However, depending on your synchronization pattern and schedule, these commands can decrease efficiency. The following sections describe two examples: one in which efficiency is increased, and one in which it is decreased.

Example of Increased Efficiency

You have three replicas in a VOB family, and a subset of the synchronization pattern and schedule is shown in Figure 25. All replicas use receipt handlers, so incoming packets are imported immediately. First, replica sanfran_hub sends a packet to replica boston_hub. Next, replica boston_hub sends a packet to replica bangalore. This packet includes operations from replica sanfran_hub.

Figure 25 Partial Synchronization Export Pattern and Schedule for Three Replicas

At 8:00 GMT, replica sanfran_hub sends a packet to replica bangalore. This packet contains operations originating at replica sanfran_hub that bangalore has already received from replica boston_hub. In this case, you should use the command chepoch -actual bangalore at replica sanfran_hub before generating an update packet for bangalore. When you generate the packet, the operations already imported at bangalore will be excluded from the packet.

Example of Decreased Efficiency

In this example, two replicas in a VOB family, sanfran_hub and sydney, exchange update packets every fifteen minutes. At some point during the day, packets may start accumulating at one of the replicas because the imports are taking a long time. For example, there is a lot of development activity in the sydney VOB and there are four packets waiting to be imported.

In this case, if you run chepoch -actual at sanfran_hub before generating a packet for sydney, the update packet will contain all the operations that are already in the packets waiting to be imported at sydney.