A shadow
set is in a steady state when all of its members are consistent
and no copy operation or merge operation is in progress. Overall,
the performance of a shadow set in a steady state compares favorably
with that of a nonshadowed disk. Read and write I/O requests processed
by a shadow set utilize a very small amount of extra CPU processing
time as compared with a nonshadowed disk. A shadow set often can
process read requests more efficiently than can a nonshadowed disk
because it can use the additional devices to respond to multiple
read requests simultaneously.
For a shadow set in a steady state, the shadowing software
handles read and write operations in the following manner:
Write I/O requests are issued concurrently
to all members of the shadow set. Because each member must be updated
before the I/O request is considered complete, the overall completion
time for a write operation is determined by the member unit with
the longest access time from the node issuing the write request.
Depending on how the shadow set is configured and the access paths
to the individual member units, you might observe a slight increase
in the time it takes to complete write I/O requests. The steady state
performance is generally better to a member that is locally connected
because the access path is shorter and more direct than the access
path to a served member. For example, you might notice degraded
write performance on shadow sets that include some members that
are accessed through an MSCP server across a network link, where
each member is locally connected to a separate node.
Read I/O requests are issued to only one member
unit. Volume Shadowing for OpenVMS attempts to access the member
unit that can provide the best completion time. In terms of I/O
throughput, a two-member shadow set can satisfy nearly twice as
many read requests as a nonshadowed disk (and even more throughput
is possible with a three-member shadow set). The shadow set can
use the additional disk read heads to respond to multiple read requests
at the same time. Thus, a steady-state shadow set can provide better
performance when an application or user reads data from the disk.
However, the performance gains occur mainly when the read requests
queued to the shadow set come in batches such that there are as
many read requests as there are member units.
Even though the read performance of a shadow set in steady-state
has the potential for better performance, the primary purpose of
volume shadowing is to provide data availability. It is not appropriate
to use volume shadowing as a means to increase the read I/O throughput
of your applications (by explicitly increasing the I/O work load).
This is because the same level of performance cannot be expected
during situations when copy or merge operations must take place
to add new members or preserve data consistency, or when members
are removed from the shadow set.
Performance During Copy and Merge Operations discusses performance considerations when the shadow
set is in a transient state.