Wir bemerken ein interessantes Muster für HADR_SYNC_COMMIT
Wartezeiten in unserer Umgebung. Wir haben eine drei Replik; Eine primäre, eine synchrone sekundäre und eine asynchrone sekundäre in einem Rechenzentrum, und wir haben gerade drei weitere ASYNC- Replikate in einem anderen Rechenzentrum hinzugefügt (~ 2400 Meilen voneinander entfernt).
Seitdem stellen wir eine enorme Zunahme der HADR_SYNC_COMMIT
Wartezeiten fest. Wenn wir uns die aktiven Sitzungen ansehen, sehen wir eine Reihe von COMMIT TRANSACTION
Abfragen, die auf das SYNC-Replikat warten
Auf dem Screenshot können wir deutlich sehen, dass HADR_SYNC_COMMIT
am 29. Juni ein Wartesprung eintritt, und wir haben schließlich irgendwann am Mittag des 1. Juli 'zwei' der drei asynchronen Replikate im Remote-Rechenzentrum abgelegt. Das hat die Wartezeiten erheblich verkürzt.
Was wir bisher überprüft haben - Protokoll-Sendewarteschlange, Wiederherstellungswarteschlange, letzte gehärtete Zeit und letzte Festschreibungszeit auf den Remote-Replikaten. Wir haben während der Geschäftszeiten ununterbrochen kleine Transaktionen, und daher sind die Sendewarteschlangen zu einem bestimmten Zeitstempel (zwischen 60 KB und 1 MB) ziemlich klein.
Die Remote-Replikate sind fast synchron, es gibt kaum einen Unterschied zwischen der letzten Festschreibungszeit und der letzten gehärteten Zeit für eine einzelne LSN auf den Replikaten.
Die Netzwerk-Pipe ist 10G und wir haben die Sendepuffergröße von 256 Megabyte auf 2 GB geändert. Dies wurde unter der Annahme durchgeführt, dass das Netzwerk Pakete verworfen und erneut übertragen hat. So oder so schien das nicht viel zu helfen.
Ich frage mich also, was die ASYNC- Replikate mit HADR_SYNC_COMMIT
Wartezeiten zu tun haben . Sollte das SYNC- Replikat nicht allein von diesem Wartetyp abhängen, was fehlt mir hier?