Թունելը կայուն է ամբողջ օրը, իսկ հետո կտրվում է, հենց սկսվում է մեծ վերբեռնում։ Ինտերակտիվ հարցումները առաջինն են կանգ առնում, հաճախորդը հաղորդում է ժամանակի սպառման մասին, և կապը վերադառնում է, երբ փոխանցումն ավարտվում է։ Այս պատկերը ցույց է տալիս հերթագրում և մշակում, այլ ոչ թե հեռավոր սերվերի անջատում, որովհետև սերվերին երբեք հնարավորություն չի տրվել ժամանակին պատասխանելու։ Խնդիրն այն է՝ վերարտադրել դա վերահսկվող ծանրաբեռնվածության տակ և կարդալ ճիշտ հաշվիչները։

Փոխեք մեկ փոփոխական յուրաքանչյուր գործարկման համար և վերջնակետը թողեք անփոփոխ։

Կառուցեք կրկնելի ծանրաբեռնվածության համեմատություն

Գրանցեք ելակետային գիծը, երբ կապն անգործուն է՝ շրջանային ժամանակ, մի քանի հավելվածային հարցում և թունելի սեփական իրադարձությունների մատյան։ Ապա սկսեք հայտնի չափի վերբեռնում և կրկնեք հենց այդ չափումները, քանի դեռ այն ընթանում է։ Վերջնակետը, հաճախորդը և փորձարկման նպատակակետը թողեք անփոփոխ, որովհետև դրանցից երկուսը միաժամանակ փոխելը ձեզ ոչինչ չի ասում։

Ուշադրություն դարձրեք, թե որ իրադարձությունն է առաջինը հայտնվում։ Ցանկացած սխալից առաջ աճող շրջանային ժամանակը հուշում է հերթագրման մասին, իսկ կայուն ուշացման դեպքում կտրուկ ժամանակի սպառումը հուշում է այլ բանի մասին՝ օրինակ բանալիների փոխարկման կամ հաշվի վրա գործողության։ Երկու պատկերները տանում են տարբեր հաջորդ քայլերի։ Գրանցեք դիտարկումը նախքան որևէ բան փոխելը։

Պահեք արդյունքը ժամանակային նշումներով, որպեսզի ծանրաբեռնված և անգործուն գործարկումները հնարավոր լինի համեմատել տող առ տող։

Կարդացեք հերթը, ոչ թե արագությունը

Սպառողական կապերը փաթեթները բուֆերացնում են մատակարարի սարքավորումներում, և լցված ելքային հերթը ուշացնում է ամեն ինչ, ներառյալ թունելը կենդանի պահող փոքր կառավարման փաթեթները։ Բարձր թիվ ցույց տվող արագության թեստը քիչ բան է ասում այդ ուշացման մասին, դրա համար անգործուն կապի թեստը անցնում է, մինչդեռ հագեցած կապը ձախողվում է։

ping -c 20 -i 0.2 203.0.113.10
mtr -rwc 20 203.0.113.10
tc -s qdisc show dev eth0
ss -ti dst 203.0.113.10
nstat -az | grep -E 'Retrans|Timeout'

Համեմատեք ծանրաբեռնվածության տակ ուշացման թվերը անգործուն վիճակի թվերի հետ։ Փաթեթների կորստով չուղեկցվող ցատկը տասնյակ միլիվայրկյաններից հարյուրավորի հերթագրում է, իսկ կայուն ուշացման դեպքում կորուստը ցույց է տալիս այլ խափանում։

Ստուգեք սարքը և կառավարման ուղին

Գաղտնագրումը և փոխանցումը պրոցեսորի ժամանակ են արժենում, և փոքր երթուղիչը կամ ջերմային սահմանափակված նոթբուքը կարող է փաթեթներ թողնել զբաղված ժամանակ։ Հետևեք ընդհանուր ծանրաբեռնվածությանը, ոչ թե մեկ գործընթացի տոկոսին, որովհետև միջուկային փոխանցումը և ընդմիջումների մշակումը չեն հայտնվում այնտեղ, որտեղ մարդիկ սովորաբար նայում են։

uptime
mpstat -P ALL 1 3
dmesg | grep -i -E 'thermal|throttl'
journalctl -u openvpn-server@server --since '10 min ago' | tail -20

Հաճախորդի ժամանակի սպառումը կարող է նաև համընկնել նախատեսված բանալիների փոխարկման կամ սեսիայի քաղաքականության իրադարձության հետ։ Իրադարձությունների հերթականության համար կարդացեք հաճախորդի սեփական մատյանը, ոչ միայն հավելվածի սխալի հաղորդագրությունը։

Փոխեք մեկ բան և կրկնեք

Այնտեղ, որտեղ հարթակը դա աջակցում է, սահմանափակեք վերբեռնման արագությունը կամ զանգվածային երթևեկությունը դասեք ինտերակտիվ երթևեկությունից ցածր, որպեսզի հերթը երբեք չլցվի։ Ապա կրկնեք նույն աշխատանքը և համեմատեք նույն երեք թվերը, ինչ նախկինում։ Փոփոխությունը, որը բարելավում է արագության թեստը, բայց թողնում է ժամանակի սպառումը, ոչինչ չի ուղղել։

Ժամանակային սահմանաչափերի համատարած բարձրացումը և գաղտնագրման թուլացումը երկու փոփոխություններն են, որոնք վերացնում են ախտանիշը՝ չբացահայտելով այն սահմանը, որը ձախողվել է։ Ոչ մեկը դրանցից վերանորոգում չէ։ Երկուսն էլ խափանումը տեղափոխում են ավելի ուշ, որտեղ ավելի դժվար է այն վերագրել։

Ավարտեք նոր հարցման և այն վերակապակցման վարքագծի փորձարկմամբ, որի վրա օգտատերը իսկապես հենվում է։ Բողոքը հարուցած ծանրաբեռնվածության տակ կայունությունը միակ արդյունքն է, որ արժե գրանցել։

Առնչվող հոդվածներ