Avage primaarsel päringu sessioon ja vaadake, mida lihtne kirjutamine ootab. Kui andmebaas kuulub sünkroonse kinnitusega kättesaadavusgruppi ja sekundaar on ühendatud, lahkub osa sellest ootest hoonest: logikirjed reisivad koopiale, karastatakse seal, ja teade selle karastamise kohta tuleb tagasi enne, kui kinnitus lõpeb. Ribalaius ei lühenda seda edasi-tagasi teekonda. Alljärgnev ülevaade jälgib kinnitust ekraanilt kaugkettale ja tagasi.

Alustage primaarse oote tüübist

Kaugkoopial ootav kirjutamine ilmub logiga seotud ootena, mitte protsessori või luku ootena, ja tehingu kestus järgib edasi-tagasi teekonda, mitte ridade arvu. Paljud väikesed kinnitused teevad selle ilmseks, sest igaüks maksab teekonna eraldi. Üks hulgitoiming peidab sama kulu ühe pikema kinnituse sisse.

Enne kui ühenduse kohta midagi järeldate, sorteerige töökoormus kinnituste sageduse järgi.

Lugege koopia olekut enne võrgu lugemist. Olulised loendurid on saatmisjärjekord, redo-järjekord ja sünkroonimise olek ning koos näitavad need, kas sekundaar jõuab järele või jääb maha. Kasvav saatmisjärjekord viitab transporti, kasvav redo-järjekord aga sekundaari enda tööle või salvestusele. Need on erinevad parandused ja kumbki ei parane ribalaiust lisades.

Jälgige kinnitust sekundaarini

Sünkroonse kinnituse korral ootab primaar kinnitust, et asjaomane logi on sekundaaril karastatud, enne kui teatab kinnituse valmimisest. Karastatud tähendab logis püsiv, mitte andmelehtedele üle kantud. Just see erinevus selgitab, miks sünkroonne sekundaar võib redo osas maha jääda, samal ajal karastamist ikka kinnitades.

Käige tee järjekorras läbi ja mõõtke iga etappi, mitte tervikut. Logikirjed lähevad üle transporti, sekundaar kirjutab ja loputab need, ja kinnitus tuleb tagasi sama teed. Transpordi hilinemine, sekundaari ajastamine ja sekundaari logiketta latentsus kõik jõuavad kogusummasse ning ainult esimene kuulub võrgu omanikule. Sekundaar, mille logimaht on millegi muu poolt küllastatud, võib iga kinnituse venitada, samal ajal kui ühendus seisab jõude.

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;

Tehke see hetktõmmis enne ja pärast esinduslikku kirjutamist, mitte üks kord vaiksel pärastlõunal. Just erinevus ütleb teile, milline järjekord liikus, samal ajal kui kinnitus ootas.

Mõõtke teekonda, mitte ühendust

Läbilaskevõime test mõõdab mahtu kahe punkti vahel, mis ei ole teie koopiad, koormuse all, mis ei ole teie töö. Küsige võrgu omanikult hilinemist ja kadu mööda tegelikku koopia teekonda, samal ajal kui tegelik liiklus käib, mõlemas suunas. Kadu loeb siin rohkem kui maht, sest kaotatud segment maksab kordussaatmise ja iga kinnitus ootab ühte kinnitust. Ühendus, mis tõmbamistestis suurepärane paistab, võib jutuka kinnituse mustri jaoks siiski sobimatu olla.

Hoidke andmebaasi transpordi turvalisus ja juurdepääsukontroll mõõtmise ajal puutumatuna. Tee mõõtmine ei ole kunagi põhjus neist mööda minna.

Korrelleerige aegu loenduritega, mitte intuitsiooniga. Kui saatmisjärjekord jääb tühjaks ja kinnitus ootab endiselt, on hilinemine kinnituses või sekundaari loputamises. Kui saatmisjärjekord kasvab pidevalt, on piiranguks transport või maht. Kirjutage üles, milline vaatlus järeldust toetas, et järgmine inimene saaks korrata mõõtmist, mitte vaidlust.

Mida asünkroonne režiim tegelikult muudab

Asünkroonne kinnitus eemaldab ootamise sekundaari karastamiskinnitusele, mistõttu kirjutamised kiirenevad ja seetõttu muutub teie püsivuspositsioon. Primaar kinnitab tehingu ilma selle kaugkinnituseta. Seejärel lubatakse sekundaaril maha jääda ja see mahajäämus on riskipositsioon.

Kui primaar läheb kaduma enne, kui logi jõuab kasutatava üleandmise sihtmärgini, viskab teenuse sundviimine sellele koopiale ära tehingud, mille kohta rakendusele oli juba teatatud, et need on kinnitatud.

See on taastamispunkti otsus ja kuulub andmebaasi omanikule, mitte jõudluse ülevaatusele. Määrake esmalt lubatud andmekao aken, valige režiim, mis seda rahuldab, ja seejärel optimeerige selle piiri sees. Sünkroonset kaitset säilitavad valikud hõlmavad välditavate kinnitusteekondade eemaldamist seal, kus rakendus seda lubab, mõõdetud transpordi- või salvestusliku kitsaskoha parandamist ja koopia teisaldamist, et kinnitus läbiks lühema vahemaa. Kaaluge neid püsivusnõude vastu, millega alustasite ja mis ei ole muutunud.

Seotud artiklid