SQL Server, Availability Replica object

Applies to: SQL Server (all supported versions)

The SQLServer:Availability Replica performance object contains performance counters that report information about the availability replicas in Always On availability groups in SQL Server. All availability replica performance counters apply to both the primary replica and the secondary replicas, with send/receive counters reflecting the local replica. For the most part, the primary replica sends most of the data, and the secondary replicas receive the data. However, secondary replicas send ACKs and some other background traffic to the primary replicas. Note that on a given availability replica, some counters will show a zero value, depending on the current role, primary or secondary, of the local replica.

Counter Name Description
Bytes Received from Replica/sec In SQL Server 2012 and 2014: Actual number of bytes (compressed) received from the availability replica per second (sync or async). Pings and status updates will generate network traffic even on databases with no user updates.

In SQL Server 2016 (13.x) and above: Actual number of bytes received (compressed for async, uncompressed for sync) from the availability replica per second.
Bytes Sent to Replica/sec In SQL Server 2012 and 2014: Actual number of bytes (compressed) sent per second over the network to the remote availability replica (sync or async). Compression is enabled for both sync and async replica by default.

In SQL Server 2016 (13.x) and above: Number of bytes sent to the remote availability replica per second. Before compression for async replica. (Actual number of bytes for sync replica which has no compression)
Bytes Sent to Transport/sec In SQL Server 2012 & 2014: Actual number of bytes sent per second (compressed) over the network to the remote availability replica (sync or async). Compression is enabled for both sync and async replica by default.

In SQL Server 2016 (13.x) and above: Number of bytes sent to the remote availability replica per second Before compression for async replica. (Actual number of bytes for sync replica which has no compression)
Flow Control Time (ms/sec) Time in milliseconds that log stream messages waited for send flow control, in the last second.
Flow Control/sec Number of times flow-control initiated in the last second. Flow Control Time (ms/sec) divided by Flow Control/sec is the average time per wait.
Receives from Replica/sec Number of Always On messages received from the replica per second.
Resent Messages/sec Number of Always On messages resent in the last second. A resent message is a message that was attempted to be sent but was unable to complete and must be attempted to be sent again. While this could occur due to different reasons, it is not the same as a TCP retransmission.
Sends to Replica/sec Number of Always On messages sent to this availability replica per second.
Sends to Transport/sec Actual number of Always On messages sent per second over the network to the remote availability replica. On the primary replica this is the number of messages sent to the secondary replica. On the secondary replica this is the number of messages sent to the primary replica.

Example

You begin to explore the query performance counters in this object using this T-SQL query on the sys.dm_os_performance_counters dynamic management view:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Availability Replica%';

See also