Performance Monitor Counters

SIOS DataKeeper provides counters that extend Performance Monitor with statistics about the status of mirroring on volumes. The counters are installed during the full installation of SIOS DataKeeper software.

To access the counters, do the following:

On a Microsoft Windows 2008 R2 system, start the Windows Performance Monitor through the Start menu in the Reliability and Performance group.

On a Microsoft Windows 2012 system, start the Windows Performance Monitor through the Performance Monitor option in the Administrative tools.

On all versions of Windows, you can start performance monitor through entering perfmon.msc using the command line.

Select Monitoring Tools, Performance Monitor.

Click the + button in the chart pane to open the Add Counters dialog box.

Select the SIOS Data Replication object.

On a system with a mirror in the source role, there will be one instance available for each target of that mirror.

SIOS DataKeeper provides 17 counters that allow the monitoring of various operations related to the product. These counters allow the monitoring of such things as status, queuing statistics and general mirror status.

Mirror State Counters

Mirror Elapsed Time

Default Value: 0

Range: 0 – MAX_ULONG

This value represents the amount of time, in seconds, that the volume has been in Mirror state. This value will be 0 for volumes that are not currently involved in a mirror, volumes that are currently undergoing mirror creation (and synchronization), and volumes for which a mirror has been broken or deleted.

Mirror State

Default: 0

Range: 0 – 5

This value represents the current mirroring state of a volume. The following values are defined:

0 None – The volume is not currently involved in a mirror.

1 Mirroring – The volume is currently mirroring to a target.

2 Resynchronizing – The volume is currently being synchronized with its target.

3 Broken – The mirror exists but the source and target volumes are not in sync. New writes to the volume are not tracked.

4 Paused – The mirror exists but the source and target volumes are not in sync. The source server keeps track of any new writes.

5 Resync Pending – The source volume is waiting to be resynchronized.

Mirror Type

Default: 0

Range: 0-2

This value represents the type of mirroring this volume is engaged in. The following values are defined for this release:

0 None – The volume is not currently involved in a mirror.

1 Synchronous – Data is put on the Write Queue to be sent to the target, and written to the local volume, simultaneously. The write is not acknowledged as complete until both operations complete.

2 Asynchronous – Data is put on the Write Queue to be sent to the target, and written to the local volume, simultaneously. The write is acknowledged when the local volume write completes.

Network Number of Reconnects

Default: 0

Range: 0 – MAX_ULONG

This value is the number of network reconnections that have been made while the volume has been mirrored. A network reconnection occurs when communication is lost with the target.

Write Queue Counters

Queue Byte Limit

Default Value: 0

This value displays the write queue byte limit as set in the WriteQueueByteLimitMB registry value. This value is displayed in bytes, and is therefore 1048576 times the value set in the registry.

Queue Current Age

Default Value: 0

Range: 0 -

This value is the age (in milliseconds) of the oldest write request in the write queue.

Queue Current Bytes

Range: 0 –

This value displays the number of bytes allocated for the given mirror’s Write Queue.

Queue Current Length

Default Value: 0

Range: 0 –

This value represents the current length, in terms of number of writes, of the write queue for the selected mirror.

Queue High Water

Default: 20000

This counter displays the write queue high water mark as set in the mirror WriteQueueHighWater registry value.

Resynchronization Control Counters

Resync Reads

Default: 20

This value represents the maximum number of disk blocks that can be in the process of being read and sent to the target system during mirror resynchronization.

Resync Current Block

Default: 0

Range: 0 –

During the synchronization process, this value represents the current block that is being sent to the target. At other times (i.e. when mirror state is not EmMirrorStateResync), this value will be 0.

During synchronization, a given block may be sent to the target multiple times if writes are ongoing to the volume. This is based on the number of resync passes that are required.

Resync Dirty Blocks

Default Value: 0

Range: 0 –

This value is the number of total blocks that are dirty during mirror resynchronization. “Dirty” blocks are those that must be sent to the target machine before synchronization is complete. This value will be 0 for all states other than EmMirrorStateResync.

When a mirror synchronization is begun, this value will be initially equal to the value of Resync Total Blocks. Please note that during a mirror synchronization, Resync Dirty Blocks may actually increase if a large number of incoming writes are made to the volume.

NOTE: This counter can be used to view the amount of data remaining to be resync’ed.
The amount of data remaining is “Resync Dirty Blocks” X 65536 (where 65536 is the number of bytes in a block).

Resync Elapsed Time

Default Value: 0

Range: 0 – MAX_ULONG

While the mirror is being synchronized, this value represents the elapsed time in seconds that the synchronization has been occurring. After a mirror is successfully resynchronized, the value represents the total amount of time the previous synchronization operation took since the last system boot. The value will be 0 for volumes that either never have been synchronized or volumes that were not synchronized during the last boot.

Resync New Writes

Default: 0

Range: 0 – MAX_ULONG

This value represents the number of writes that have occurred on the volume since a synchronization operation has begun. This value will directly affect the number of dirty blocks, the number of passes required to synchronize the mirror and the amount of time the synchronization takes to complete.

Resync Pass

Default Value: 10

Range: 0 – MaxResyncPasses (Registry)

This value is the number of passes that have currently been made through the volume during the resynchronization process to update the target. The number of passes required to complete the synchronization process will increase based on the amount of writing that is being performed during synchronization. While writing to the source volume is allowed during synchronization, heavy writes will cause the synchronization to take longer, thus resulting in a much longer time until it is finished.

Resync Total Blocks

Default Value: 0

Range: 0 – MAX_ULONG

This value represents the number of 64k blocks used for resynchronization of the mirrored volume. The value is approximately equal to the file system size of the volume divided by 64K. Please note that the file system size is less than the partition size of the volume that is shown in the Windows Disk Management program. To see the file system size, type CHKDSK X: (where X is the drive letter).