Niyə sürətli VPN sinxron SQL təsdiqini hələ də ləngidir
Təsdiq binadan sinxron replikaya çıxır. Gözləmə növündən göndərmə və yenidən icra növbələrinə qədər yolu izləyin, sonra asinxronun düzgün güzəşt olub-olmadığını qərar verin.
Əsas serverdə sorğu sessiyası açın və sadə bir yazmanın nəyi gözlədiyinə baxın. Verilənlər bazası sinxron təsdiqli əlçatanlıq qrupuna aiddirsə və ikincil qoşulubsa, bu gözləmənin bir hissəsi binadan çıxır: jurnal qeydləri replikaya gedir, orada bərkidilir və bu bərkitmə xəbəri təsdiq bitməzdən əvvəl geri qayıdır. Bant genişliyi bu gediş-dönüşü qısaltmır. Aşağıdakı icmal təsdiqi ekrandan uzaq diskə və geriyə izləyir.
Əsas serverdə gözləmə növündən başlayın
Uzaq replikada gözləyən yazma CPU və ya kilid gözləməsi kimi deyil, jurnalla bağlı gözləmə kimi görünür və tranzaksiyanın müddəti sətir sayını deyil, gediş-dönüşü izləyir. Çoxsaylı kiçik təsdiqlər bunu aşkar edir, çünki hər biri gedişi ayrıca ödəyir. Tək toplu əməliyyat isə eyni xərci bir uzun təsdiqin içində gizlədir.
Rabitə haqqında nəticə çıxarmazdan əvvəl iş yükünüzü təsdiq tezliyinə görə sıralayın.
Şəbəkəni oxumazdan əvvəl replika vəziyyətini oxuyun. Əhəmiyyətli sayğaclar göndərmə növbəsi, yenidən icra növbəsi və sinxronizasiya vəziyyətidir və birlikdə ikincilin ayaqlaşdığını və ya geridə qaldığını göstərir. Artan göndərmə növbəsi nəqliyyata, artan yenidən icra növbəsi isə ikincilin öz işinə və ya yaddaşına işarə edir. Bunlar fərqli təmirlərdir və heç biri bant genişliyi əlavə etməklə yaxşılaşmır.
İkincilə qədər təsdiqi izləyin
Sinxron təsdiqdə əsas server təsdiqi tamamlanmış elan etməzdən əvvəl müvafiq jurnalın ikincildə bərkidildiyinə dair təsdiq gözləyir. Bərkidilmə jurnalda davamlılıq deməkdir, məlumat səhifələrinə təkrar oxunma deyil. Bu fərq məhz buna görə sinxron ikincil yenidən icrada geri qala bilər, halbuki bərkitməni təsdiqləməyə davam edir.
Yolu sıra ilə gedin və bütünü deyil, hər mərhələni ölçün. Jurnal qeydləri nəqliyyatdan keçir, ikincil onları yazır və boşaldır, təsdiq eyni yolla geri qayıdır. Nəqliyyat gecikməsi, ikincilin planlaşdırması və ikincilin jurnal diski gecikməsi hamısı cəmə düşür və yalnız birincisi şəbəkə sahibinə aiddir. Jurnal həcmi başqa bir şeylə doymuş ikincil, rabitə boş dayanarkən hər təsdiqi uzada bilər.
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;Bu görüntünü sakit bir günortadan bir dəfə deyil, nümunəvi yazmadan əvvəl və sonra götürün. Təsdiq gözləyərkən hansı növbənin hərəkət etdiyini sizə fərq deyir.
Rabitəni deyil, yolu ölçün
Ötürmə qabiliyyəti testi replikalarınız olmayan iki nöqtə arasındakı tutumu, sizin iş yükünüz olmayan bir yük altında ölçür. Şəbəkə sahibindən real replika yolu boyunca, real trafik axarkən, hər iki istiqamətdə gecikmə və itki istəyin. Burada itki tutumdan daha önəmlidir, çünki itirilmiş seqment yenidən ötürməyə başa gəlir və hər təsdiq bir cavabı gözləyir. Yükləmə testində əla görünən rabitə yenə də söhbətcil təsdiq modelinə uyğun gəlməyə bilər.
Ölçmə zamanı verilənlər bazası nəqliyyat təhlükəsizliyini və giriş nəzarətlərini toxunulmaz saxlayın. Yolu ölçmək heç vaxt onları yan keçmək üçün səbəb deyil.
Vaxtları intuisiya ilə deyil, sayğaclarla əlaqələndirin. Göndərmə növbəsi boş qalırsa və təsdiq hələ də gözləyirsə, gecikmə cavabdadır və ya ikincilin boşaltmasındadır. Göndərmə növbəsi durmadan artırsa, məhdudiyyət nəqliyyat və ya tutumdur. Hansı müşahidənin nəticəni dəstəklədiyini qeyd edin ki, növbəti şəxs mübahisəni təkrarlamaq əvəzinə ölçməni təkrarlaya bilsin.
Asinxron rejim əslində nəyi dəyişir
Asinxron təsdiq ikincilin bərkitmə cavabını gözləməyi aradan qaldırır; buna görə yazmalar sürətlənir və davamlılıq mövqeyiniz dəyişir. Əsas server tranzaksiyanı həmin uzaq cavab olmadan təsdiqləyir. Sonra ikincilin geri qalmasına icazə verilir və bu geri qalma məruz qalmadır.
Jurnal istifadə oluna bilən keçid hədəfinə çatmazdan əvvəl əsas server itirilərsə, xidməti həmin replikaya məcbur etmək tətbiqə artıq təsdiqlənmiş kimi bildirilmiş tranzaksiyaları atır.
Bu bərpa nöqtəsi qərarıdır və performans icmalına deyil, verilənlər bazası sahibinə aiddir. Əvvəlcə yol verilən məlumat itkisi pəncərəsini təyin edin, onu ödəyən rejimi seçin, sonra həmin sərhəd daxilində optimallaşdırın. Sinxron qorunmanı saxlayan variantlara tətbiqin icazə verdiyi yerlərdə qaçılmaz təsdiq gediş-dönüşlərini aradan qaldırmaq, ölçülmüş nəqliyyat və ya yaddaş darboğazını düzəltmək və cavabın daha az məsafə qət etməsi üçün replikanı köçürmək daxildir. Onları başladığınız davamlılıq tələbi ilə ölçün, o tələb dəyişməyib.