இரண்டாவது தளத்திற்கு நகல் நகர்த்தப்பட்ட பிறகு எழுதும் தாமதம் உயர்ந்தது, மேலும் சுரங்கப்பாதை புதிய கூறு என்பதால் குற்றம் அதன் மேல் விழுகிறது. சுரங்கப்பாதை குற்றமற்றதாக இருக்கலாம்: ஒத்திசைவான கமிட் கொண்ட கிடைக்கும் குழுவின் உள்ளே முதன்மை தொலைவு பதிவு எழுதுதல் முடியும் வரை கமிட்டை ஏற்க முடியாது, எனவே ஒவ்வொரு பரிவர்த்தனையும் ஒரு செல்லும் வரும் பயணத்தை செலுத்துகிறது, இணைப்பு எத்தனை மெகாபிட் எடுத்துச் செல்ல முடிந்தாலும். ஊடுருவல் வீதம் வினாடிக்கு பைட்டுகளை அளக்கிறது, தாமதம் ஒரு பரிமாற்றம் எவ்வளவு நேரம் எடுக்கிறது என்பதை அளக்கிறது, கமிட் முடிய ஒரு சிறிய பரிமாற்றம் மட்டுமே தேவை. ஒரு எண் வாதத்தை முடிவு செய்கிறது: சிறிய பரிவர்த்தனையின் கமிட் காலம், கிடைக்கும் தரவுத்தளத்தின் உள்ளேயும் பின்னர் அதே நிகழ்வின் உள்ளூர் அட்டவணைக்கு எதிராகவும் மீண்டும் அளக்கப்படுகிறது.

முதன்மை உண்மையில் எதற்காக காத்திருக்கிறது

ஒத்திசைவான கமிட்டில் முதன்மை தன் பங்காளி தன் பதிவு பதிவுகள் நிலைத்து எழுதப்பட்டதை உறுதிப்படுத்தும் வரை கமிட் ஒப்புதலை தடுத்து வைக்கிறது. நிலைத்து என்பது இரண்டாம் நிலையின் பரிவர்த்தனை பதிவில் நீடித்து எழுதப்பட்டது, அதன் தரவு பக்கங்களில் மீண்டும் இயக்கப்பட்டது அல்ல. ரீடு முதன்மையின் கமிட்டுக்கு ஒரு மில்லிவினாடி கூட சேர்க்காமல் நிமிடங்கள் பின்தங்கலாம்.

கிடைக்கும் முறைகள் பற்றிய Microsoft ஆவணம் அந்த கைக்குலுக்கலை விளக்கி, பங்காளி வெளியேறும்போது தளம் என்ன செய்கிறது என்பதை விவரிக்கிறது. ஒத்திசைவானது என குறிக்கப்பட்ட நகல் காத்திருப்பு பற்றிய விதி, ஒவ்வொரு கமிட்டுக்கும் ஆரோக்கியமான தொலை நகல் உள்ளது என்பது நிரந்தர உறுதிமொழி அல்ல. துண்டிக்கப்பட்ட பாதை தனியாக வரையறுக்கப்பட்டுள்ளது, அது கமிட் தோல்வியடைவது மட்டும் அல்ல.

எனவே நீங்கள் காணும் காத்திருப்பு ஒரு கூட்டுத்தொகை: பதிவு போக்குவரத்து, இரு ஹோஸ்ட்களிலும் திட்டமிடல் மற்றும் தொலை சேமிப்பகத்தில் எழுதுதல். நிறைந்த பதிவு அளவு கொண்ட இரண்டாம் நிலை எந்த வேக சோதனையும் காட்டாத நேரத்தை சேர்க்கிறது. புகாரில் VPN பெயர் குறிப்பிடப்படும்போது அந்த வட்டு அரிதாகவே அளக்கப்படுகிறது.

அலைவரிசை என்பது செல்லும் வரும் தாமதம் அல்ல

வேக சோதனை பாதையை சிறிது நேரம் நிரப்பி வேகத்தை தெரிவிக்கிறது. கமிட் மிகவும் குறுகிய ஒன்றை கேட்கிறது: ஒரு சிறிய செய்தி மறுபக்கத்தை அடைய, சேமிக்கப்பட, திரும்பி வர எவ்வளவு நேரம் எடுக்கிறது. பாதையின் நீளம், வரிசைகள் மற்றும் பாக்கெட் இழப்பு அந்த எண்ணை தீர்மானிக்கின்றன, வழங்குநர் உச்சவரம்பை உயர்த்தும்போது அவற்றில் எதுவும் மேம்படாது.

எனவே «வேகமான» சுரங்கப்பாதை பல சிறிய தொடர் பரிவர்த்தனைகளால் கட்டப்பட்ட எழுத்து-கனமான பணிச்சுமைக்கு தெரியும் அபராதத்தை சேர்க்கலாம். அதே மொத்த பைட்டுகள் ஆயிரம் கமிட்டுகளாக பிரிக்கப்பட்டால் செல்லும் வரும் பயணத்தை ஆயிரம் முறை செலுத்துகிறது; ஒரு மொத்த பரிமாற்றம் அதை ஒரு முறை செலுத்துகிறது.

பிரதிநிதி சுமையின் கீழ் நகல் பாதையிலேயே தாமதம் மற்றும் இழப்பை அளக்க வலைய முதலாளியிடம் கேளுங்கள். அலுவலக மடிக்கணினியிலிருந்து VPN நுழைவாயிலுக்கு ping, அல்லது அருகிலுள்ள முனைக்கு வேக சோதனை, பதிவு உண்மையில் செல்லும் பாதைக்கு கிட்டத்தட்ட எதையும் காரணமாக்காது. அளவீட்டு சாளரம் மெதுவான எழுத்தின் மணிநேரங்களுடன் ஒத்துப்போவதை உறுதி செய்யுங்கள்.

எதையும் மாற்றும் முன் நகலின் நிலையை படியுங்கள்

நிகழ்வுகள் தங்களைப் பற்றி தெரிவிப்பதிலிருந்து தொடங்குங்கள், ஏனெனில் கூட்டாண்மை எவ்வளவு ஆரோக்கியமானது என்பதில் இரு தரப்பும் உடன்படாமல் இருக்கலாம் மற்றும் டாஷ்போர்டின் சராசரி எந்த வரிசை நகர்கிறது என்பதை மறைக்கிறது. கீழே உள்ள வினவல்கள் வெவ்வேறு கேள்விகளுக்கு பதிலளிக்கின்றன: ஒன்று ஒவ்வொரு தரவுத்தளத்திற்கும் நகலெடுப்பு நிலையை படிக்கிறது, மற்றொன்று ஒவ்வொரு நகலும் எவ்வாறு கட்டமைக்கப்பட்டுள்ளது என்பதை படிக்கிறது. எந்த முறையையும் தொடும் முன் இரண்டையும் இயக்குங்கள்.

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

SELECT ar.replica_server_name, ar.availability_mode_desc, ar.failover_mode_desc
FROM sys.availability_replicas AS ar;

முதல் முடிவு பதிவு போக்குவரத்தை ரீடுவிலிருந்து பிரிக்கிறது. log_send_queue_size உயரும்போது redo_queue_size தட்டையாக இருந்தால் பதிவு வரவில்லை என்று பொருள்; எதிர்மாறாக இருந்தால் அது வந்துவிட்டது மற்றும் மறுஇயக்கம் பின்தங்கியுள்ளது. கமிட் பாதையில் முதல் நிலை மட்டுமே அமர்கிறது.

இரண்டாவது முடிவு எந்த நகல்கள் உண்மையில் நீங்கள் கருதுவது போல கட்டமைக்கப்பட்டுள்ளன என்பதை உறுதிப்படுத்துகிறது, ஏனெனில் முந்தைய சம்பவத்தின் போது மாற்றப்பட்ட முறை மாற்றப்பட்டு ஆவணப்படுத்தப்படாமல் இருக்கும். குழுவின் இயல்புநிலைக்கு பதிலாக உங்களுக்கு முக்கியமான வரிசையை படியுங்கள்: availability_mode_desc மற்றும் failover_mode_desc ஒவ்வொரு நகலுக்கும். secondary_lag_seconds SQL Server 2016 மற்றும் அதற்குப் பிறகு மட்டுமே உள்ளது, எனவே பழைய கட்டமைப்பு அனுப்பும் வரிசை மற்றும் ரீடு நெடுவரிசைகளை மட்டுமே உங்களுக்கு விட்டுச் செல்கிறது.

பின்னர் டாஷ்போர்டின் சராசரியை நம்புவதற்கு பதிலாக பிரதிநிதி எழுத்தை அளவிடுங்கள். கீழே உள்ள தொகுதியை கிடைக்கும் தரவுத்தளத்தில் இயக்கி, பின்னர் அதே நிகழ்வில் குழுவிற்கு வெளியே உள்ள தரவுத்தளத்தில் அதே அட்டவணை வடிவத்திற்கு எதிராக மீண்டும் இயக்குங்கள். இரு காலங்களுக்கு இடையிலான இடைவெளி தொலை பதிவின் தோராயமான விலை, வலைய குழுவுடனான விவாதத்தில் அது வரைபடத்தை விட மிகச் சிறப்பாக நிற்கிறது. அதன் பிறகு ஒரு நேரத்தில் ஒரு மாறியை மாற்றுங்கள், இல்லையெனில் இடைவெளிக்கு அர்த்தம் இல்லை.

IF OBJECT_ID('dbo.CommitProbe') IS NULL
    CREATE TABLE dbo.CommitProbe (probe_id int PRIMARY KEY, touched_at datetime2(3));
IF NOT EXISTS (SELECT 1 FROM dbo.CommitProbe WHERE probe_id = 1)
    INSERT INTO dbo.CommitProbe (probe_id) VALUES (1);
SET STATISTICS TIME ON;
BEGIN TRANSACTION;
UPDATE dbo.CommitProbe SET touched_at = SYSUTCDATETIME() WHERE probe_id = 1;
COMMIT TRANSACTION;
SET STATISTICS TIME OFF;

ஒத்திசைவற்ற கமிட் என்ன வாங்குகிறது, என்ன செலவாக்குகிறது

ஒத்திசைவற்ற கமிட்டுடன் முதன்மை தொலை நிலைப்படுத்தலின் உறுதிப்படுத்தலை காத்திருப்பதை நிறுத்துகிறது, எனவே செல்லும் வரும் பயணம் கமிட் பாதையிலிருந்து வெளியேறுகிறது. கமிட் தாமதம் குறைகிறது, இரண்டாம் நிலை யாரும் கட்டுப்படுத்தாத அளவுக்கு பின்தங்க சுதந்திரமாகிறது. அது காத்திருப்புக்கு உண்மையான திருத்தம் மற்றும் உறுதிமொழிக்கு உண்மையான மாற்றம்.

விலை மீட்பு புள்ளி பற்றிய முடிவு. முதன்மை தன் பதிவு உண்மையில் பயன்படுத்தக்கூடிய தோல்வி மாற்று இலக்கை அடையும் முன் இறந்தால், சேவையை ஒத்திசைவற்ற நகலுக்கு நகர்த்துவது பயன்பாடு ஏற்கனவே கமிட் என தெரிவித்த பரிவர்த்தனைகளை தூக்கி எறிகிறது. எந்த கட்டமைப்பு உரையாடலும் அதை அப்படி வழங்குவதில்லை, ஏனெனில் அது ஏற்கத்தக்க இழப்பு பற்றிய வணிக கேள்வி, செயல்திறன் அமைப்பு அல்ல. பொறுத்துக்கொள்ளக்கூடிய இழப்பு சாளரத்தை சம்பவத்திற்கு முன் எழுதுங்கள், அதன் போது அல்ல.

தரவின் உரிமையாளருடன் முறையை எழுத்துப்பூர்வமாக ஒப்புக்கொள்ளுங்கள், விருப்பமான இலக்கு கிடைக்காத நிலைக்கான தோல்வி மாற்று நடைமுறையுடன். வடிவமைப்பு ஆவணத்தில் ஒத்திசைவானது என்பது செயல்பாட்டு கையேடு அல்ல, ஒத்திசைவற்றது வரிசைகளை கவனிப்பதை நிறுத்துவதற்கான உரிமம் அல்ல.

பின்னர் நீங்கள் பாதுகாக்கக்கூடிய திருத்தத்தை தேர்ந்தெடுங்கள்

நான்கு நேர்மையான விருப்பங்கள் உள்ளன. பயன்பாட்டின் பொருள் தொகுத்தலை அனுமதிக்கும் இடத்தில் தவிர்க்கக்கூடிய கமிட் செல்லும் வரும் பயணங்களை வெட்டுங்கள்; நீங்கள் அளந்த போக்குவரத்து அல்லது சேமிப்பக தடையை சரிசெய்யுங்கள், அது பெரிய குழாய்க்கு பதிலாக இரண்டாம் நிலையில் வேகமான பதிவு அளவை குறிக்கலாம்; பயணம் சுருங்க நகலை நெருக்கமாக கொண்டு வாருங்கள்; அல்லது பாதுகாப்பு கொள்கையை தளர்த்தி பரந்த இழப்பு சாளரத்தை ஏற்றுக்கொள்ளுங்கள். ஒவ்வொன்றும் தாமதத்தை வேறொன்றை செலவழித்து வாங்குகிறது, நான்காவது நீடித்தன்மையை செலவழிக்கிறது. தேர்ந்தெடுக்கும் முன் செலவை பெயரிடுங்கள்.

பணிச்சுமையின் தாமத இலக்கும் அதன் நீடித்தன்மை தேவையும் ஒரே நேரத்தில் உங்கள் முன் இருக்கும்போது முடிவு செய்யுங்கள், ஏனெனில் ஒன்றை மேம்படுத்துவது மற்றொன்றை அமைதியாக செலவழிக்கிறது. பின்னர் மாற்றத்திற்கு முன் அளந்த அதே பரிவர்த்தனையை மீண்டும் இயக்குங்கள். அந்த எண்ணை நகர்த்த முடியாத திருத்தம் மாற்ற டிக்கெட் அணிந்த ஊகம்.

மாற்ற பதிவில் முன் மற்றும் பின் வாசிப்புகளை வைத்திருங்கள். இல்லையெனில் மெதுவான எழுத்தை பார்க்கும் அடுத்த நபர் விசாரணையை ஆரம்பத்திலிருந்து மீண்டும் செய்து மீண்டும் சுரங்கப்பாதையை குற்றம் சாட்டத் தொடங்குகிறார்.

தொடர்புடைய கட்டுரைகள்