Birlamchi serverda so'rov sessiyasini oching va oddiy yozuv nimani kutayotganini ko'ring. Agar ma'lumotlar bazasi sinxron tasdiqlashga ega mavjudlik guruhiga tegishli bo'lsa va ikkilamchi ulangan bo'lsa, bu kutishning bir qismi binodan chiqadi: jurnal yozuvlari nusxaga boradi, u yerda qotiriladi va bu qotirish haqidagi xabar tasdiqlash tugashidan oldin qaytadi. Tarmoq kengligi bu borish-kelishni qisqartirmaydi. Quyidagi izoh tasdiqni ekrandan uzoq diskka va orqaga qadar kuzatadi.

Birlamchi serverdagi kutish turidan boshlang

Uzoq nusxada kutayotgan yozuv CPU yoki qulf kutishi emas, jurnalga bog'liq kutish sifatida ko'rinadi va tranzaksiya davomiyligi qatorlar soniga emas, borish-kelishga ergashadi. Ko'p kichik tasdiqlashlar buni yaqqol qiladi, chunki har biri yo'lni alohida to'laydi. Bitta yirik operatsiya o'sha xarajatni bitta uzunroq tasdiq ichida yashiradi.

Havola haqida biror xulosa chiqarishdan oldin ish yukingizni tasdiqlash chastotasi bo'yicha saralang.

Tarmoqni o'qishdan oldin nusxa holatini o'qing. Muhim hisoblagichlar yuborish navbati, redo navbati va sinxronlashuv holatidir va ular birgalikda ikkilamchi ulguryaptimi yoki orqada qolyaptimi ko'rsatadi. O'sib borayotgan yuborish navbati transportga ishora qiladi, o'sib borayotgan redo navbati esa ikkilamchining o'z ishi yoki saqlash joyiga. Bular har xil tuzatishlar va hech biri tarmoq kengligi qo'shish bilan yaxshilanmaydi.

Tasdiqni ikkilamchigacha kuzatib boring

Sinxron tasdiqlashda birlamchi server tasdiqlashni tugagan deb e'lon qilishdan oldin tegishli jurnal ikkilamchida qotirilgani haqidagi tasdiqni kutadi. Qotirilgan jurnalda barqaror degani, ma'lumot sahifalariga qayta o'ynatilgan emas. Aynan shu farq sinxron ikkilamchi redo bo'yicha orqada qolsa ham qotirishni tasdiqlashda davom etishini tushuntiradi.

Yo'lni tartib bilan bosib o'ting va butunni emas, har bir bosqichni o'lchang. Jurnal yozuvlari transportdan o'tadi, ikkilamchi ularni yozadi va tozalaydi, tasdiq esa o'sha yo'l bilan qaytadi. Transport kechikishi, ikkilamchining rejalashtirilishi va ikkilamchining jurnal diski kechikishi hammasi jamiga kiradi va faqat birinchisi tarmoq egasiga tegishli. Jurnal hajmi boshqa narsa bilan to'yingan ikkilamchi havola bo'sh turganda ham har bir tasdiqni cho'zishi mumkin.

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;

O'sha suratni tinch tushdan keyin bir marta emas, vakillik yozuvidan oldin va keyin oling. Farq tasdiq kutayotganda qaysi navbat siljiganini aytadi.

Yo'lni o'lchang, havolani emas

O'tkazish qobiliyati sinovi sizning nusxalaringiz bo'lmagan ikki nuqta orasidagi sig'imni sizning ishingiz bo'lmagan yuk ostida o'lchaydi. Tarmoq egasidan haqiqiy nusxa yo'li bo'ylab haqiqiy trafik oqayotganda kechikish va yo'qotishni ikkala yo'nalishda so'rang. Bu yerda yo'qotish sig'imdan muhimroq, chunki yo'qolgan segment qayta yuborishni talab qiladi va har bir tasdiq bitta tasdiqni kutadi. Yuklab olish sinovida a'lo ko'rinadigan havola gapdon tasdiq namunasiga hali ham mos kelmasligi mumkin.

O'lchash paytida ma'lumotlar bazasining transport xavfsizligi va kirish nazoratini buzmasdan saqlang. Yo'lni o'lchash hech qachon ularni chetlab o'tish uchun sabab emas.

Vaqtlarni sezgi bilan emas, hisoblagichlar bilan bog'lang. Agar yuborish navbati bo'sh qolsa va tasdiq hali ham kutayotgan bo'lsa, kechikish tasdiqda yoki ikkilamchining tozalashida. Agar yuborish navbati barqaror o'ssa, cheklov transport yoki sig'imdir. Qaysi kuzatuv xulosani qo'llab-quvvatlaganini yozib qo'ying, keyingi odam bahsni emas, o'lchovni takrorlashi uchun.

Asinxron rejim aslida nimani o'zgartiradi

Asinxron tasdiqlash ikkilamchining qotirish tasdig'ini kutishni olib tashlaydi, shuning uchun yozuvlar tezlashadi va shuning uchun sizning barqarorlik mavqeingiz o'zgaradi. Birlamchi server tranzaksiyani o'sha uzoq tasdiqsiz tasdiqlaydi. Keyin ikkilamchiga orqada qolishga ruxsat beriladi va o'sha orqada qolish xavf hisoblanadi.

Agar birlamchi server jurnal foydalanishga yaroqli uzatish nishoniga yetmasdan yo'qolsa, xizmatni o'sha nusxaga majburan ko'chirish ilovaga allaqachon tasdiqlangan deb aytilgan tranzaksiyalarni tashlab yuboradi.

Bu tiklash nuqtasi haqidagi qaror va u ma'lumotlar bazasi egasiga tegishli, unumdorlik ko'riga emas. Avval yo'l qo'yiladigan ma'lumot yo'qotish oynasini belgilang, uni qanoatlantiradigan rejimni tanlang, keyin o'sha chegara ichida optimallashtiring. Sinxron himoyani saqlaydigan variantlarga ilova ruxsat bergan joyda oldini olish mumkin bo'lgan tasdiq safarlarini olib tashlash, o'lchangan transport yoki saqlash to'siqini tuzatish va tasdiq kamroq masofa bosishi uchun nusxani ko'chirish kiradi. Ularni siz boshlagan va o'zgarmagan barqarorlik talabi bilan torting.

O'xshash maqolalar