Екі жүгіріс, бір туннель, ал сандар үш есе ерекшеленеді. Туннель олардың арасында өзгерген жоқ. Өзгергені — өлшеу: сіздің көрінетін орныңызға қарай сервер таңдайтын сынақ сайты, құбырды бір баяу басталу толтыра ма әлде алтысы ма екенін шешетін ағын саны және жол дұрыс пайдаланыла бастамай-ақ аяқталатын қысқа ұзақтық. Жылдамдық сынақтары қате емес, бірақ олар адамдар қоятын сұрақтан гөрі тар сұраққа жауап береді.

Жаңа шығу мекенжайы сынақтың баратын жерін өзгертеді

Сынақ сайттарының көбі өлшеу серверін өздігінен таңдайды және оны ішінара сіздің байланысыңыз қайдан келе жатқандай көрінетініне қарап таңдайды. Туннельді қосыңыз, көрінетін еліңіз өзгереді, сондықтан таңдалған сервер өзгереді, ал салыстыру енді екі түрлі хостқа баратын екі түрлі жолды қамтиды.

Нәтиже мүлдем 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 жылдамдығын екі есе қысқартты деген қорытындыға келетін ең көп тараған жол. Әдісті теңестіріңіз, содан кейін салыстырыңыз. Үшінші команданың ізі жетіспейтін контексті қосады: дірілі жоғары жол екі режимде де тұрақсыз нәтиже береді, оны ешбір ағын саны түзетпейді.

Шифрлау процессор уақытын, инкапсуляция байттарды қажет етеді

Арна қаншалықты жылдам болса да, әр пакетте екі механизм жұмыс істейді. Шифрлау байт сайын процессор жұмсайды, инкапсуляция болса арна бәрібір тасымалдауға тиіс тақырып байттарын қосады. Екеуі де төбе ретінде көрінеді және белгілері әртүрлі.

Процессор төбесі үстірт ретінде көрінеді: қанша ағын қоссаңыз да өткізу қабілеті өсуден тоқтайды, ал машинаның процессоры арна бос емес кезде бос емес. Шағын маршрутизаторда немесе телефонда бұл көбіне нақты шек, сондықтан жылдам желі қарапайым туннель бере алады.

Байт шығыны кішірек, бірақ тұрақты. Қосымша тақырыптар пакетке пайдалы жүкті азайтады, ал ең жоғары жіберу бірлігі тіркелген жолда олар үлкен жіберістерде баяу орташа емес, тоқырау ретінде көрінетін фрагментация немесе қара құрдым тудыруы мүмкін.

ObservationLikely mechanismWhat to measure
Throughput flat as streams increaseCPU per packet on one corePer-core utilisation during the test
Fast small transfers, stalled large onesMTU and fragmentationPayload size at which it breaks
Good average, unusable callsQueueing delay behind a full bufferLatency under load

Бұл үшеуі жиі шатастырылады, өйткені пайдаланушылар олардың бәрін «VPN баяу» деп сипаттайды. Тек біріншісі үлкенірек машинаға жауап береді, тек екіншісі кішірек MTU-ға, ал тек үшіншісі кезек басқаруға жауап береді.

Әдісті хаттамаға жазыңыз

Сақтауға тұрарлық нәтиже құрылғыны, кіру желісін, шығуды, өлшеу серверін, бағытты, ағын санын және ұзақтықты атайды. Оларсыз екі санды салыстыру мүмкін емес, ал бір сан бар билет шын мәнінде көңіл күйі.

Нашар жүгірістерді де сақтаңыз. Бір шығу әр жолы тоқырау тудыратын топтама орташадан әлдеқайда ақпаратты, ал тоқыраулар — орташалар жасыратын дәл сол нәрсе.

Содан кейін сізге шынымен маңызды нәрсені сынаңыз. Мақсат үлкен жүктеу болса, файлды жүктеңіз. Мақсат қоңырау болса, бос өткізу қабілеті емес, жүктеме астындағы кідірісті өлшеңіз, өйткені туннель жылдамдық сынағында жақсы ұпай жинап, бәрібір әр жиналысты тыңдалмайтын ете алады.

Қатысты мақалалар