Low transaction throughput on Always On Availability Group primary replica

Á við um: SQL Server 2016 StandardSQL Server 2016 EnterpriseSQL Server 2016 Developer

Symptoms


When you configure Always On Availability Groups in SQL Server 2016, you may experience intermittent periods of low throughput. You may also notice long wait times for the HADR_SYNC_COMMIT process when this issue occurs.

Additionally, the error log on the secondary replica instance reports the following error:

Error: 19432, Severity: 16, State: 0
Always On Availability Groups transport has detected a missing log block for availability database "<database>". LSN of last applied log block is (xxx:xxxxxxxx:x). Log scan will be restarted to fix the issue. This is an informational message only. No user action is required.

Workaround


To work around this issue, add trace flag 9587 as a startup parameter for the replica instances that participate in your Always On Availability Group configuration. 

A future update for SQL Server will eliminate the need to use trace flag 9587. This flag causes the transport layer for availability groups to revert to sequential processing, which disables the performance throughput improvements for Always On Availability Groups in SQL Server 2016. Unless you are experiencing the issues that are described in the "Symptoms" section, we do not recommend that you apply trace flag 9587.