Отворите сесију упита на примарном и погледајте на шта чека једноставно писање. Ако база припада групи доступности са синхроном потврдом и секундарни је повезан, део тог чекања напушта зграду: записи дневника путују до реплике, тамо се очвршћују, и вест о том очвршћивању се враћа пре него што се потврда заврши. Пропусност не скраћује тај пут тамо и назад. Приказ испод прати потврду од екрана до удаљеног диска и назад.

Почните од типа чекања на примарном

Писање које чека на удаљеној реплици појављује се као чекање везано за дневник, а не као чекање процесора или закључавања, и трајање трансакције прати пут тамо и назад уместо броја редова. Многе мале потврде то чине очигледним, јер свака плаћа пут засебно. Једна масовна операција скрива исти трошак унутар једне дуже потврде.

Сортирајте радно оптерећење по учесталости потврда пре него што закључите било шта о вези.

Прочитајте стање реплике пре него што прочитате мрежу. Бројачи који су важни јесу ред за слање, ред за redo и стање синхронизације, и заједно показују да ли секундарни држи корак или заостаје. Растући ред за слање указује на пренос, док растући ред за redo указује на сопствени рад или складиштење секундарног. То су различите поправке и ниједна се не побољшава додавањем пропусности.

Пратите потврду до секундарног

Код синхроне потврде примарни чека потврду да је дотични дневник очвршћен на секундарном пре него што пријави да је потврда готова. Очвршћено значи трајно у дневнику, не поново извршено у страницама података. Управо то разликовање објашњава зашто синхрони секундарни може заостајати у redo док још потврђује очвршћивање.

Прођите пут редом и мерите сваку фазу, а не целину. Записи дневника иду преко преноса, секундарни их записује и испира, а потврда се враћа истим путем. Кашњење преноса, распоређивање секундарног и латенција диска дневника секундарног сви улазе у укупно, и само прво припада власнику мреже. Секундарни чији је обим дневника засићен нечим другим може растегнути сваку потврду док веза стоји беспослена.

SELECT ag.name AS ag_name, drs.database_id, drs.synchronization_state_desc,
       drs.log_send_queue_size, drs.redo_queue_size
FROM sys.dm_hadr_database_replica_states AS drs
JOIN sys.availability_groups AS ag ON ag.group_id = drs.group_id;

Направите такав снимак пре и после репрезентативног писања, а не једном у тихо поподне. Разлика је оно што вам каже који се ред померио док је потврда чекала.

Мерите пут, а не везу

Тест пропусности мери капацитет између две тачке које нису ваше реплике, под оптерећењем које није ваш рад. Затражите од власника мреже кашњење и губитак дуж стварног пута реплике док тече стварни саобраћај, у оба смера. Губитак је овде важнији од капацитета, јер изгубљени сегмент кошта поновног преноса и свака потврда чека једно признање. Веза која изгледа изврсно у тесту преузимања може ипак бити лоша за говорљив образац потврда.

Одржите безбедност преноса базе и контролу приступа нетакнутима док мерите. Мерење пута никада није разлог да их заобиђете.

Повежите времена са бројачима, а не са интуицијом. Ако ред за слање остане празан и потврда још чека, кашњење је у потврди или у испирању секундарног. Ако ред за слање стално расте, ограничење су пренос или капацитет. Запишите које је опажање подржало закључак, да следећа особа може поновити мерење уместо расправу.

Шта асинхрони режим заиста мења

Асинхрона потврда уклања чекање на признање очвршћивања од секундарног, зато писања постају бржа и зато се мења ваш положај трајности. Примарни потврђује трансакцију без тог удаљеног признања. Секундарном је тада допуштено заостајање, а то заостајање је изложеност.

Ако се примарни изгуби пре него што дневник стигне до употребљивог циља пребацивања, присилно пребацивање услуге на ту реплику одбацује трансакције за које је апликација већ била обавештена да су потврђене.

То је одлука о тачки опоравка и припада власнику базе, а не прегледу перформанси. Прво поставите дозвољени прозор губитка података, изаберите режим који га задовољава, затим оптимизујте унутар те границе. Опције које задржавају синхрону заштиту укључују уклањање избежљивих путовања потврде тамо где апликација то дозвољава, исправљање измереног уског грла у преносу или складиштењу и премештање реплике да признање превали мању удаљеност. Одмерите их према захтеву трајности с којим сте почели, а који се није променио.

Повезани чланци