0.4 жүктө турган дарбаза артындагы ар бир колдонуучу үчүн дагы эле жорголошу мүмкүн. Орточо жүк аткарылуучу же үзгүлтүксүз уйкуда калган тапшырмаларды эсептейт, ал эми төрт ядролуу хостт бир эле каныккан процесс аны 1.0 тарапка түртүүгө жетишет, ал эми үч ядро бош отурат. Бул санды камдык катары окуу — акыркы чекитти тандоодогу эң кеңири тараган ката. Туннелди чындыгында чектеген нерсе адатта төрт нерсенин бири: бир бош эмес ядро, өйдө канал, анын алдындагы кезек же эч ким документтештирбеген сессиялык саясат.

Орточо жүк тапшырмаларды эсептейт, өткөрүү жөндөмүн эмес

Ядро аткаруу кезегин жана кирүү-чыгууну күткөн тапшырмалардын санын үлгүлөйт, анан экөөнү тең бир, беш жана он беш мүнөт ичинде тегиздейт. Бул аныктамада байт, пакет же туннель жөнүндө эч нерсе айтылбайт. Сактоочу жайы катып калган хост дээрлик трафиксиз жогорку жүктү билдириши мүмкүн, ал эми ядронун маалымат жолу менен гигабитти түрткөн хост жайлуу жүктү билдириши мүмкүн.

Ошондуктан жүктү туннелдин аткаруусу менен байланыштыруу ар бир ядро боюнча көрүнүштү талап кылат. Бир ядро толук болсо, тактадагы жалпы пайыз дагы эле жакшы көрүнөт:

cat /proc/loadavg
mpstat -P ALL 1 1
top -H -b -n 1 | head -n 20

Үчүнчү буйрук — VPN хостторунда эң маанилүүсү. OpenVPN 2.x ичинде колдонуучу мейкиндигиндеги пакеттерди иштетүү негизинен ар бир процесс боюнча ырааттуу, ошондуктан бир бош эмес жип төбөгө айланышы мүмкүн, ал эми такта мол бош кубатты билдирет. Эгер байкалган жай мезгилде бир жип ядронун көп бөлүгүн ээлесе, хост жалпысынан жетишсиз жабдылган эмес; ал кокустан маанилүү болуп калган өлчөмдө чектелген.

Убакытка да көңүл буруңуз. Он беш мүнөттүк орточолор чалууну бузган жарылууну жашырат, ошондуктан кайрылуудан кийин тартылган скриншот начар далил. Маселе учурунда үлгү алыңыз жана убакыт белгисин чыгарылуучу маалымат менен бирге сактаңыз.

Өйдө канал жана анын алдындагы кезек

Интерфейс эсептегичтери CPU сандары жооп бере албаган өткөрүү жөндөмү суроосуна жооп берет. Алар ошондой эле кубатту жоготуудан ажыратат, ал эми булар ар кандай чечимдери бар ар кандай бузулуулар:

ip -s link show dev eth0
tc -s qdisc show dev eth0
nstat -az TcpRetransSegs TcpExtTCPLostRetransmit

Сыноо учурунда өзүнө бөлүнгөн ылдамдыкка жакын турган байланыш — ошол эле түшүндүрмө, жана бош CPU канча болсо да аны өзгөртпөйт. qdisc сабы интерактивдүү трафик үчүн маанилүү деталды кошот: топтолуу жана түшүп калуулар пакеттердин чыгар алдында кезекте күтүп турганын айтат. Чоң жүктөө астында толгон кезек адамдар алыскы серверге тага турган симптомду так пайда кылат, башкача айтканда бенчмаркта дагы эле жакшы көрүнгөн байланыштагы жай чалуулар.

Кайра жөнөтүү эсептегичтери пакеттер чыгып кеткен, бирок эч качан таза жетпеген учурду кармайт. Эгер жай терезеде кайра жөнөтүүлөр өсүп, интерфейс кубаттан алыс болсо, маселе хостто эмес, жолдо, жана ошол эле шаардагы башка акыркы чекитке өтүү жардам бербейт.

Сессиялардын саны суроо-талапты сүрөттөйт, камдыкты эмес

Ар бир ачык каталог туташкан колдонуучулардын белгилүү санын көрсөтөт, жана алардын дээрлик эч бири бул колдонуучулар эмне кылып жатканын айтпайт. Интерактивдүү иш кылган жыйырма сессия жана чоң файлдарды тарткан төрт сессия бирдей жабдууда абдан башкача жүктөрдү жаратат. Экинчи үлгү колдонуучулардын санында көрүнбөйт, жана дал ошол кечти бузат. Ошондуктан сессия санын суроо-талап тууралуу белги катары окуган жакшы, эч качан бош кубат тууралуу билдирүү катары эмес.

Number on the pageWhat it is really measuringWhat it cannot tell you
Connected usersHow many sessions hold an addressHow much each one is transferring
Load or scoreWhatever the operator chose to publishWhether that definition matches your task
UptimeHow long since the process startedCurrent capacity, queue depth or packet loss
Distance or pingRound-trip time on a small probeThroughput under sustained transfer

Өзүңүз башкарган хостто абал файлы жетишпеген өлчөмдү берет. OpenVPN ар бир кардар боюнча байт эсептегичтерин камтыган мезгилдик сүрөт жазат, жана бул бир сессиянын бүт өйдө каналга жооптуу экенин көрүүгө жетет:

status /run/openvpn/server.status 10
# then, after at least one interval
grep -E "^CLIENT_LIST" /run/openvpn/server.status

Он секунд аралык менен алынган эки үлгү бул жыйынды эсептегичтерди ар бир кардарга ылдамдыкка айландырат. Бул — колдонуучулардын саны алмаштырып жүргөн өлчөө, жана ушундай жол менен туура эмес конфигурацияланган бир кардар ар түнү ошол эле саатта байланышты каныктырарын аныктайсыз.

Сессиялык чектөөлөр саясаттын ичинде жашыруун

Сервер бош туруп, ошого карабастан сизге өткөрүү жөндөмүн берүүдөн баш тартышы мүмкүн. Ылдамдык чектөөлөрү, ар бир кардар үчүн өткөрүү жөндөмүнүн төбөсү жана трафикти формалоо көбүнчө жалпы ат же бассейн боюнча колдонулат, ошондуктан бир дарбазадагы эки колдонуучу таптакыр башка натыйжа алышы мүмкүн. Механизм назик эмес, бирок сырттан көрүнбөйт, анткени туннель эки учурда тең нормалдуу көтөрүлөт.

Формалоону туннелдин интерфейсинен издеңиз, физикалыктан эмес. Чектөө колдонуучуга, сертификатка же дарек бассейнине байланыштуубу, текшериңиз. Эгер сыноо эсебиңиз чексиз бассейнге түшсө, сервер жайлуу, ал эми нааразы болгон колдонуучу ката деген тыянакка келесиз. Мындай тыянак тыянактын жоктугунан да жаман, анткени ал билетти жабат.

Эки акыркы чекитти бир туруктуу тапшырма менен салыштырыңыз

Кардар тараптагы эксперимент дагы эле жасаганга татыктуу, бирок өзгөрмөлөр бекитилген учурда гана. Ошол эле түзмөктү, ошол эле кирүү тармагын, ошол эле протоколду жана ошол эле максаттуу файлды колдонуңуз, анан окшош аралыктагы экинчи акыркы чекитке каршы кайталаңыз. Жүгүртүүлөрдүн ортосунда өзгөргөн нерсенин баары, анын ичинде сутка убактысы, натыйжаны булгайт.

Ийгиликсиздиктерди ийгиликтердей эле кылдат жазыңыз. Үч акыркы чекит иштеп, бири убакыт чегине жеткен серия төрт ылдамдык санынан да маалыматтуу, анткени ал кубат эмес, жол же саясат маселесин көрсөтөт. Ар бир учурду жок дегенде эки жолу иштетиңиз; жалпы тармакта бир жай үлгү эч нерсени далилдебейт.

Акырында, жыйналган сандарды аларды колдогон ырастоо менен бирге сактаңыз. "Бул акыркы чекит өткөрүүнү экинчиси токтоп калган ошол эле терезеде аткарды" — коргоого болот, ал эми "бул акыркы чекит ылдамыраак" башкы беттеги упай менен жеңе албаган талашты чакырат. OpenVPN 2.6 колдонмосу абал файлын жана формалоо параметрлерин документтештирет, эгер хост тарабынын так директивалары керек болсо.

Тектеш макалалар