Tunel je ves dan stabilen, nato pa se prekine vsakič, ko se začne veliko nalaganje. Interaktivne zahteve se ustavijo prve, odjemalec sporoči potek roka, povezava pa se vrne, ko se prenos konča. Ta vzorec kaže na čakalno vrsto in obdelavo, ne na to, da je oddaljeni strežnik padel, ker strežnik nikoli ni dobil priložnosti, da bi pravočasno odgovoril. Naloga je to reproducirati pod nadzorovanim bremenom in prebrati prave števce.

Spreminjajte eno spremenljivko na poskus in končno točko držite fiksno.

Zgradite ponovljivo primerjavo obremenitve

Zabeležite izhodiščno linijo, ko povezava miruje: čas povratnega potovanja, nekaj zahtev aplikacij in lastni dnevnik dogodkov tunela. Nato začnite nalaganje znane velikosti in ponovite natanko tiste meritve, medtem ko teče. Končno točko, odjemalca in cilj testa pustite nespremenjene, ker spreminjanje dveh hkrati ne pove ničesar.

Opazite, kateri dogodek se pojavi prvi. Naraščajoči čas povratnega potovanja pred kakršno koli napako kaže na čakalno vrsto; trd potek roka ob stabilni zakasnitvi kaže na nekaj drugega, na primer menjavo ključev ali dejanje na računu. Vzorca vodita v različne naslednje korake. Opazovanje zapišite, preden karkoli spremenite.

Shranite izhod s časovnimi žigi, da bo mogoče obremenjeni in mirni poskus primerjati vrstico za vrstico.

Berite čakalno vrsto, ne hitrosti

Potrošniške povezave vmesno shranjujejo pakete v opremi ponudnika, polna odhodna čakalna vrsta pa zakasni vse, tudi majhne kontrolne pakete, ki ohranjajo tunel živ. Hitrostni test z visoko številko pove malo o tej zakasnitvi, zato test v mirovanju uspe, medtem ko nasičena povezava ne uspe.

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'

Primerjajte številke zakasnitve pod obremenitvijo s tistimi v mirovanju. Skok z desetin milisekund na stotine brez izgube paketov je čakalna vrsta; izguba ob stabilni zakasnitvi kaže na drugo okvaro.

Preverite napravo in kontrolno pot

Šifriranje in posredovanje zahtevata procesorski čas, majhen usmerjevalnik ali toplotno omejen prenosnik pa lahko med delom spušča pakete. Spremljajte skupno obremenitev, ne odstotka enega procesa, ker se posredovanje v jedru in obdelava prekinitev ne pojavita tam, kamor ljudje običajno gledajo.

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

Potek roka pri odjemalcu se lahko prekrije tudi z načrtovano menjavo ključev ali z dogodkom politike seje. Preberite lasten dnevnik odjemalca za vrstni red dogodkov, ne le sporočila o napaki aplikacije.

Spremenite eno stvar in ponovite

Kjer platforma to podpira, omejite hitrost nalaganja ali razvrstite množični promet pod interaktivnega, da se čakalna vrsta nikoli ne napolni. Nato ponovite isto delo in primerjajte iste tri številke kot prej. Sprememba, ki izboljša hitrostni test, a pusti potek roka, ni ničesar popravila.

Dvigovanje rokov povsod in slabitev šifriranja sta spremembi, ki odpravita simptom, ne da bi ugotovili, katera meja je odpovedala. Nobena ni popravilo. Obe premakneta napako pozneje, kjer jo je teže pripisati.

Končajte s preizkusom nove zahteve in vedenja pri ponovnem povezovanju, na katero se uporabnik resnično zanaša. Stabilnost pod obremenitvijo, ki je povzročila pritožbo, je edini rezultat, vreden zapisa.

Sorodni članki