கில் சுவிட்ச் சோதனை: மீண்டும் இணைப்பு மட்டுமல்ல, இடைவெளியை அளவிடுங்கள்
விரைவான மீண்டும் இணைப்பு கிளையண்ட் வேகமானது என்பதை நிரூபிக்கிறது. இடைவெளியின்போது இயந்திரத்திலிருந்து என்ன வெளியேறியது என்பதை தூண்டுதலுடன் பதிவு செய்யுங்கள், இல்லையெனில் சோதனை பாதியை மட்டுமே அளந்தது.
ஒரு வினாடியில் முடியும் மீண்டும் இணைப்பு கிளையண்ட் வேகமானது என்று சொல்கிறது. சுரங்கப்பாதை அணைக்கப்பட்டிருந்தபோது ஏதேனும் தப்பியதா என்பதை அது சொல்லவில்லை. ஒரு நிமிடம் எடுக்கும் மீண்டும் இணைப்பு கிளையண்ட் மெதுவானது என்று சொல்கிறது, இடைவெளியில் நேரடி போக்குவரத்துக்கு அனுமதி இருந்ததா என்பதையும் இன்னும் சொல்லவில்லை. இவை இரண்டு அளவீடுகள், முதலில் ஒன்றை மட்டும் தெரிவிக்கும் கில் சுவிட்ச் சோதனை சுவிட்சை சோதிக்கவில்லை.
இரண்டு அவதானிப்புகள், இரண்டு தனித்தனி தீர்ப்புகள்
கிடைக்கும் தன்மை பற்றிய கேள்வி எளிது: சுரங்கப்பாதை மீண்டும் எப்போது பயன்படுத்தக்கூடியதாகியது, அங்கு செல்ல பாதுகாக்கப்பட்ட பயன்பாட்டுக்கு புதிய இணைப்பு தேவைப்பட்டதா. அமலாக்கக் கேள்வி வேறு: பாதுகாப்பு விழுந்த தருணத்திலிருந்து அது திரும்பிய தருணம் வரை எந்த பாக்கெட்டுகள் இயந்திரத்தை விட்டு வெளியேறின.
அவற்றுக்கு தனித்தனி பதிவுகளால் பதிலளியுங்கள். ஒரு வரி இடைவெளி குறிப்பிட்ட எண்ணிக்கையிலான வினாடிகள் நீடித்தது என்கிறது. மற்றொரு வரி அந்த இடைவெளியில் பாதுகாப்பற்ற கோரிக்கை வெற்றிபெற்றதா என்கிறது. அவற்றை ஒரே தேர்ச்சி அல்லது தோல்வியாக இணைப்பது மிக முக்கியமான நிலையை மறைக்கிறது: கசிவுடன் கூடிய விரைவான மீண்டும் இணைப்பு.
நேரத்தை அளவிடக்கூடிய ஆய்வுக் கருவியை உருவாக்குங்கள்
பயன்படுத்துங்கள்: பாதிப்பில்லாத, மலிவான மற்றும் சுரங்கப்பாதையின் சொந்த கட்டுப்பாட்டு வழித்தடத்திலிருந்து சுயாதீனமான ஒரு கோரிக்கை. கீழேயுள்ள சுழற்சி வினாடிக்கு ஒருமுறை நேர முத்திரை, HTTP நிலை மற்றும் கடந்த நேரத்தை அச்சிடுகிறது, தொங்கிக்கொண்டிருக்காமல் சத்தமாக தோல்வியடைகிறது:
while true; do
printf '%s ' "$(date +%H:%M:%S)"
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' --max-time 2 https://example.com || echo "curl-exit-$?"
sleep 1
done
நிலையை மட்டுமல்ல, curl இன் வெளியேறும் குறியீடுகளைப் படியுங்கள். 28 என்பது கோரிக்கையின் நேரம் முடிந்தது, தடுக்கப்பட்ட பாதை இப்படித்தான் தெரிகிறது. 6 என்பது பெயர் தீர்வு தோல்வியடைந்தது, இது வேறு கண்டுபிடிப்பு மற்றும் பெரும்பாலும் மிகவும் சுவாரஸ்யமானது. இடைவெளியில் குறுகிய கடந்த நேரத்துடன் 200 வந்தால் போக்குவரத்து வெளியே செல்ல அனுமதிக்கப்பட்டது.
வெளியீட்டை ஒரு கோப்பில் எழுதி வைத்திருங்கள். முனையத்தின் ஸ்க்ரோல்பேக் ஆதாரம் அல்ல, சுவாரஸ்யமான பகுதி பொதுவாக நடுவில் உள்ள மூன்று வரிகள்.
உண்மையான தோல்வியை ஏற்படுத்துங்கள், ஒழுங்கானதை அல்ல
கிளையண்டின் சொந்த மெனுவிலிருந்து துண்டிப்பது கூட்டு பாதையை சோதிக்கிறது, அங்கு கிளையண்டிற்கு தன் தடுப்பு விதிகளை நிறுவ நேரம் உள்ளது. அதற்கு பதிலாக செயல்முறையை கொல்லுங்கள், அல்லது கீழ் இணைப்பை அறுத்திடுங்கள், அப்போது உண்மையான தோல்வி செல்லும் பாதையை சோதிப்பீர்கள்.
ஒவ்வொரு தூண்டுதலும் வேறு குறியீட்டு பாதையை பயிற்சி செய்கிறது. சேவையகப் பக்க குறுக்கீடு, உள்ளூர் இணைப்பு இழப்பு மற்றும் கிளையண்ட் செயலிழப்பு ஒவ்வொன்றும் வேறு நிலையை விட்டுச் செல்லலாம், அவற்றில் ஒன்று இறுதியில் நீங்கள் சந்திக்கும் நிலையாக இருக்கலாம். குறைந்தது இரண்டு தூண்டுதல்களில் ஆய்வை இயக்கி முடிவுகளை தூண்டுதலின்படி லேபிளிடுங்கள்.
அனுமதிக்கப்பட்ட போக்குவரத்து எப்படி இருக்கும் என்பதை பதிவில் படியுங்கள்
இடைவெளியில் 200 அல்லது விரைவான இணைப்பு தோல்வி என்பது கசிவு, எந்த திசையில் இருந்தாலும். முழு இடைவெளியிலும் நேரம் முடிவது தடுப்புக் கொள்கையின் எதிர்பார்க்கப்பட்ட வடிவம். இணைப்புகள் தோல்வியடையும்போது பெயர் தீர்வு வெற்றிபெறுவது தீர்வி இன்னும் அணுகக்கூடியது என்பதைக் குறிக்கிறது, இது வேறு வகையான கசிவு.
தற்போதுள்ள சாக்கெட்டுகளுக்கு கவனம் தேவை. ஒரு நிரல் துண்டிப்புக்கு முன் திறந்த இணைப்பைத் தொடர்ந்து பயன்படுத்தலாம், எனவே உயிரோடு தெரியும் போக்குவரத்து புதிய பாதைக்கு அனுமதி கிடைத்ததை நிரூபிக்காமல் இருக்கலாம். சாக்கெட் பட்டியல் இணைப்பு நிகழ்வுக்கு முந்தையதா என்பதைக் காட்டுகிறது:
ss -tunp | grep -E 'ESTAB|SYN-SENT' ip route get 198.51.100.7 resolvectl status | sed -n '1,20p'
சாக்கெட்டின் தொடக்க நேரத்தை துண்டிப்பின் நேர முத்திரையுடன் ஒப்பிடுங்கள். குறுக்கீட்டை விட பழைய இணைப்பு கசிவின் அல்ல, சாக்கெட் மறுபயன்பாட்டின் ஆதாரம், அதை தோல்வியாக தெரிவிப்பது அடுத்த நபரை இல்லாத பிழையைத் தேட அனுப்புகிறது.
புதுப்பிப்பைத் தாண்டி நிற்கும் வடிவில் முடிவைப் பதிவு செய்யுங்கள்
தூண்டுதல், வினாடிகளில் இடைவெளி, தடுக்கப்படாத ஏதேனும் கோரிக்கை வெற்றிபெற்றதா, பெயர் தீர்வு வெற்றிபெற்றதா, மற்றும் கிளையண்ட் மற்றும் இயக்க முறைமை பதிப்புகளை எழுதுங்கள். இந்த ஐந்து உண்மைகளின் தொகுப்பை வெளியீடுகளுக்கு இடையே ஒப்பிடலாம், ஒரு உரைநடை பத்தி அதைச் செய்ய முடியாது.
கிளையண்ட் புதுப்பிப்பு அல்லது சுயவிவர மாற்றத்திற்குப் பிறகு அதே சோதனையை மீண்டும் இயக்குங்கள், ஏனெனில் தடுப்பு நடத்தை செயலாக்க விவரம் மற்றும் அது நகர்கிறது. பதிவின் நோக்கம் அது சம்பவமாகும் முன் நகர்வைக் கவனிப்பது, கிளையண்டை ஒருமுறை சான்றளிப்பது அல்ல.