Ինչու նույն թունելի վրա VPN-ի արագության երկու թեստերը չեն համընկնում
Նոր ելքը փոխում է թեստային սերվերը, իսկ դանդաղ սկիզբը՝ արդյունքը։ Ամրացրեք նպատակակետը, հավասարեցրեք հոսքերի քանակը և առանձնացրեք պրոցեսորի ծախսը կապուղու թողունակությունից։
Երկու գործարկում, մեկ թունել, և թվերը տարբերվում են երեք անգամ։ Թունելը նրանց միջև չի փոխվել։ Փոխվել է չափումը՝ թեստային կայք, որն ընտրում է սերվեր ըստ ձեր երևացող գտնվելու վայրի, հոսքերի քանակ, որը որոշում է՝ մեկ դանդաղ սկիզբ է լցնում խողովակը, թե վեց, և այնպիսի տևողություն, որը բավական կարճ է ավարտվելու համար նախքան ուղու ճիշտ օգտագործումը։ Արագության թեստերը սխալ չեն, բայց դրանք պատասխանում են ավելի նեղ հարցի, քան այն, ինչ մարդիկ տալիս են նրանց։
Նոր ելքի հասցեն փոխում է թեստի նպատակակետը
Թեստային կայքերի մեծ մասը չափիչ սերվեր ընտրում է ինքնաշխատ, և ընտրում է այն մասամբ նայելով, թե որտեղից է կարծես գալիս ձեր կապը։ Միացրեք թունելը, և ձեր երևացող երկիրը փոխվում է, ուստի ընտրված սերվերը փոխվում է, և համեմատությունն այժմ ընդգրկում է երկու տարբեր ուղի դեպի երկու տարբեր հոսթեր։
Արդյունքը բոլորովին VPN-ի չափում չէ։ Դա ձեր ուղու չափումն է դեպի սերվեր, որը դուք չեք ընտրել, և երկու գործարկումների տարբերությունը կարող է պայմանավորված լինել այդ սերվերի փիրինգով, այլ ոչ թե այն ամենով, ինչ արեց թունելը։
Ամրացրեք նպատակակետը նախքան որևէ այլ բան փոխելը։ Յուրաքանչյուր վստահելի գործիք թույլ է տալիս սերվեր ընտրել բացահայտ, և երբ չի անում, արդյունքների էջը սովորաբար նշում է օգտագործվածը, ինչը բավական է նկատելու, որ երկու գործարկումները համեմատելի չեն։ Հաստատեք, թե ինչ տեսավ կայքը, նախքան նրա ընտրությանը վստահելը՝
curl -sS https://ipinfo.io/json | grep -E '"ip"|"org"|"country"'
Եթե երկիրը փոխվել է գործարկումների միջև, փոխվել է նաև այն ամենը, ինչ թեստը ընտրել է դրանից հետո։ Գրեք դիտարկված ելքը յուրաքանչյուր արդյունքի կողքին, և շփոթմունքը մեծ մասամբ անհետանում է։
Դանդաղ սկիզբը ավարտվում է կարճ թեստերի մեծ մասի ավարտից հետո
TCP կապը չի սկսվում կապուղու արագությամբ։ Այն սկսվում է փոքր գերբեռնվածության պատուհանով, մոտավորապես կրկնապատկում է այն յուրաքանչյուր շրջապտույտում, և ուղու թողունակությանը հասնում է միայն մի քանի շրջապտույտից հետո։ Բարձր հետաձգությամբ ուղու վրա տասը վայրկյանանոց թեստը կարող է իր կյանքի զգալի մասն անցկացնել այդ վերելքում։
Ահա թե ինչու ավելի բարձր հետաձգությամբ թունելը կարճ թեստում ավելի վատ արդյունք է ստանում, քան արժանի է, և ահա թե ինչու ավելի երկար գործարկումը հաճախ ավելի բարձր թիվ է հաղորդում առանց որևէ կարգավորման փոփոխության։ RFC 6349 թողունակության շրջանակը սա դիտարկում է բացահայտ, և ահա թե ինչու լուրջ չափումները տևում են բավական երկար՝ կայուն վիճակի հասնելու համար։ Արբանյակային ուղու վրա հինգ վայրկյանանոց գործարկումը չափում է արագացուցիչը, ոչ թե ճանապարհը։
Նայեք կապի փուլերին, փոխանակ վստահելու մեկ թվի։ Curl-ը հաղորդում է յուրաքանչյուր փուլն առանձին, այնպես որ կարող եք տեսնել՝ ժամանակը գնում է ձեռքսեղմմանը, վերելքին, թե փոխանցմանը՝
curl -sS -o /dev/null -w 'dns=%{time_namelookup} tcp=%{time_connect} tls=%{time_appconnect} total=%{time_total} bytes/s=%{speed_download}\n' \
https://mirror.example.net/testfile.bin
Գործարկեք այն երկու անգամ անընդմեջ նույն նպատակակետին։ Եթե երկրորդ գործարկումը շատ ավելի արագ է, դուք չափում էիք վերելքը, ոչ թե ուղին, և ցանկացած համեմատություն, որն օգտագործել է միայն առաջինը, կասկածելի է։
Մեկ հոսքը և վեց հոսքը տարբեր բաներ են չափում
Մեկ TCP հոսքը սահմանափակված է պատուհանով, որը կարող է պահել թռիչքի մեջ, ինչը մոտավորապես շրջապտույտի ժամանակն է բազմապատկած արագությամբ։ Երկար ուղու վրա այդ արտադրյալը գերազանցում է այն, ինչ կօգտագործի մեկ հոսքը, ուստի մեկ ներբեռնումը թերագնահատում է գոյություն ունեցող թողունակությունը։ Վեց զուգահեռ հոսքեր լրացնում են բացը և ավելի մեծ թիվ տալիս։
iperf3 -c speed.example.net -t 20
iperf3 -c speed.example.net -t 20 -P 6
mtr -rwc 50 speed.example.net
Երկու թվերն էլ ճիշտ են։ Մեկ հոսքի թիվը ասում է, թե ինչ կանի մեկ ներբեռնում, ինչը սովորաբար ստանում է դիտարկչի ներդիրը։ Զուգահեռ թիվը ասում է, թե ուղին ինչ կարող է տանել ամբողջությամբ, ինչը կարող է օգտագործել տորենտը կամ բազմամաս ներբեռնումը։ Մեկը մյուսի տեղը մեջբերելը հենց այն ձևն է, որով առողջ թունելը փոխարինվում է առանց պատճառի։
Զուգահեռ արդյունքը մեկ հոսքի արդյունքի հետ համեմատելը մարդկանց ամենասովորական ձևն է եզրակացնելու, որ VPN-ը կրկնակի կրճատել է իրենց արագությունը։ Հավասարեցրեք մեթոդը, ապա համեմատեք։ Երրորդ հրամանի հետքը ավելացնում է բացակայող համատեքստը՝ բարձր ջիտերով ուղին երկու ռեժիմում էլ անհետևողական արդյունքներ կտա, և ոչ մի հոսքերի քանակ դա չի ուղղի։
Գաղտնագրումը արժե պրոցեսորի ժամանակ, ինկապսուլյացիան՝ բայթեր
Յուրաքանչյուր փաթեթի վրա աշխատում են երկու մեխանիզմ՝ անկախ կապուղու արագությունից։ Գաղտնագրումը սպառում է պրոցեսոր՝ յուրաքանչյուր բայթի համար, իսկ ինկապսուլյացիան ավելացնում է վերնագրի բայթեր, որոնք կապուղին դեռ պետք է տանի։ Երկուսն էլ երևում են որպես առաստաղ, և նրանց ախտանիշները տարբեր են։
Պրոցեսորի առաստաղը երևում է որպես սարահարթ՝ թողունակությունը դադարում է աճել, անկախ նրանից, թե քանի հոսք ավելացնեք, և մեքենայի պրոցեսորը զբաղված է, մինչդեռ կապուղին՝ ոչ։ Փոքր երթուղիչի կամ հեռախոսի վրա դա հաճախ իրական սահմանն է, և ահա թե ինչու արագ գիծը դեռ կարող է համեստ թունել տալ։
Բայթային ծախսը փոքր է, բայց հաստատուն։ Լրացուցիչ վերնագրերը նշանակում են ավելի քիչ օգտակար բեռ յուրաքանչյուր փաթեթում, և ֆիքսված առավելագույն փոխանցման միավոր ունեցող ուղու վրա դրանք կարող են նաև հրահրել հատվածագրում կամ սև անցք, որն ի հայտ է գալիս որպես կանգ մեծ փոխանցումների ժամանակ, այլ ոչ թե որպես դանդաղ միջին։
| Observation | Likely mechanism | What to measure |
|---|---|---|
| Throughput flat as streams increase | CPU per packet on one core | Per-core utilisation during the test |
| Fast small transfers, stalled large ones | MTU and fragmentation | Payload size at which it breaks |
| Good average, unusable calls | Queueing delay behind a full buffer | Latency under load |
Այս երեքը հաճախ շփոթում են, որովհետև օգտվողները բոլորին նկարագրում են որպես «VPN-ը դանդաղ է»։ Միայն առաջինն է արձագանքում ավելի մեծ մեքենային, միայն երկրորդը՝ ավելի փոքր MTU-ին, և միայն երրորդը՝ հերթերի կառավարմանը։
Արձանագրեք մեթոդը
Պահելու արժանի արդյունքը նշում է սարքը, մուտքի ցանցը, ելքը, չափիչ սերվերը, ուղղությունը, հոսքերի քանակը և տևողությունը։ Առանց դրանց երկու թիվ հնարավոր չէ համեմատել, և մեկ թիվ պարունակող տոմսը իրականում տրամադրություն է։
Պահեք նաև վատ գործարկումները։ Մի շարք, որտեղ մեկ ելք ամեն անգամ կանգ է առաջացնում, շատ ավելի տեղեկատվական է, քան միջինը, և կանգերը հենց այն են, ինչ միջինները թաքցնում են։
Ապա փորձարկեք այն, ինչ իսկապես կարևոր է ձեզ համար։ Եթե նպատակը մեծ ներբեռնումն է, ներբեռնեք ֆայլը։ Եթե նպատակը զանգն է, չափեք հետաձգությունը բեռնվածության տակ, ոչ թե պարապ թողունակությունը, որովհետև թունելը կարող է լավ միավոր հավաքել արագության թեստում և այնուամենայնիվ յուրաքանչյուր հանդիպում դարձնել անլսելի։