Asynchronous mode:
Network performance issues:
Asynchronous mode ensures write requests are not delayed if network capacity is insufficent. Instead, excess requests accumulate on the SRL (as long as the SRL is large enough to hold them).
If there is a persistent shortfall in network capacity, the SRL eventually overflows.
The SRL can be used as a buffer to handle temporary shortfalls in network capacity, such as periods of peak usage, provided that these periods are followed by periods during which the Secondary can catch up as the SRL drains.
NOTE: You can use the "bandwidth_limit" attribute to set the maximum network bandwidth (in bits per second) that can be used during replication.
The asynchronous mode handles burts of I/O or congestion on the network by using the SRL. This minimizes impact on application performance from network bandwidth fluctuations.
The average network bandwidth must be adequate for the average write rate of the application.
Asynchronous replication does not compensate for a slow network, as the Secondary needs to reflect the state of the Primary at some point-in-time. However, the Secondary must have committed transactions that have not been written to the Secondary.
VVR enables you to manage latency protection, by specifying how many outstanding writes are acceptable, and what action to take if that limit is exceeded.
Asynchronous replication also minimizes impact on application performance because the the I/O completes without waiting for the network acknowledgment from the Secondary.
In some circumstances the maximum amount of memory allocated to the VVR readback pool ( "vol_max_rdback_sz") is not sufficient. This is the maximum memory that will be used by VVR, when write requests are being read back from the SRL, normally related to VVR environments where the write operations cannot be handled correctly, due to a potential surge of writes which exceed the available network bandwidth.
When replicating we are mainly concerned with the write operations, as read operations do not affect replication.
The Veritas article "HOWTO85017" describes how to tune the "vol_max_rdback_sz " tunable.
In asynchronous mode, where the Secondary or network bandwidth cannot keep with the incoming write rate, the Primary kernel memory buffers fills up.
For VVR to continue to provide memory for incoming writes and to continue its processing, it must free the memory held by writes that have been written to the Primary data volume, but, not yet sent to the Secondary.
When VVR is ready to send the unsent writes that were freed, the writes must first “READ BACK” from the SRL.
In synchronous mode the data is always available in memory, while in asynchronous mode VVR may have to FREQUENTLY “READ BACK” the data from SRL. Synchronous replication can significantly decrease application performance by adding the network round trip to the latency of each write request.
Consequently, replication performance might suffer because of the delay of the additional read operation.
KEY POINT: VVR does not need to “READ BACK” from the SRL if the “NETWORK BANDWIDTH” is sufficient and the Secondary always keeps up with the incoming write rate, or if the Secondary only falls behind for short periods during which the accumulated writes are small enough to fit in the VVR kernel buffer.
As previously stated, in a shared environment, VVR always “READS BACK” from the SRL when replicating in asynchronous mode.
If VVR reads back from the SRL frequently, striping the SRL volume over several self-contained (not used by data volumes) disks could improve performance, unless already done at the array level.
To determine whether VVR is reading back from the SRL, use the “vxstat” command. In the output, note the number of read operations on the SRL.

