Тунел је стабилан цео дан, а онда пуца сваки пут када почне велико отпремање. Интерактивни захтеви први застају, клијент пријављује истек времена, а веза се враћа када пренос заврши. Та слика упућује на ред и обраду, а не на то да је удаљени сервер пао, јер сервер никада није добио прилику да на време одговори. Задатак је да се то репродукује под контролисаним оптерећењем и прочитају прави бројачи.

Мењајте по једну променљиву по покретању и држите крајњу тачку фиксном.

Изградите поновљиво поређење оптерећења

Забележите основну линију док веза мирује: време одласка и повратка, неколико захтева апликација и сопствени дневник догађаја тунела. Затим покрените пренос познате величине и поновите тачно та мерења док траје. Држите крајњу тачку, клијента и одредиште теста непромењеним, јер промена два од њих одједном не говори ништа.

Обратите пажњу који се догађај појављује први. Растуће време одласка и повратка пре било какве грешке упућује на ред; тврд истек времена уз стабилну латенцију упућује на нешто друго, попут обнове кључева или радње на налогу. Оба обрасца воде ка различитим следећим корацима. Запишите запажање пре него што било шта промените.

Сачувајте излаз са временским ознакама како би се оптерећено и мирно покретање могли упоредити ред по ред.

Читајте ред, а не брзину

Потрошачке везе пуферирају пакете у опреми добављача, а пун излазни ред одлаже све, укључујући мале контролне пакете који држе тунел живим. Тест брзине који показује висок број мало говори о том кашњењу, зато тест у мировању пролази док засићена веза пада.

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

Истек времена на клијенту може се поклопити и са планираном обновом кључева или са догађајем политике сесије. Читајте сопствени дневник клијента за редослед догађаја, а не само поруку о грешци апликације.

Промените једну ствар и поновите

Где платформа то подржава, ограничите брзину отпремања или разврстајте масовни саобраћај испод интерактивног како се ред никада не би напунио. Затим поновите исти посао и упоредите исте три бројке као раније. Промена која побољша тест брзине, али остави истек времена, није ништа поправила.

Подизање временских ограничења у целости и слабљење шифровања две су промене које уклоне симптом без утврђивања која је граница заказала. Ниједна није поправка. Обе померају квар касније, где га је теже приписати.

Завршите тестом новог захтева и понашања поновног повезивања на које се корисник заиста ослања. Стабилност под оптерећењем које је изазвало притужбу једини је резултат који вреди забележити.

Повезани чланци