Tunelul este stabil toată ziua și apoi cade de fiecare dată când începe o încărcare mare. Cererile interactive se blochează primele, clientul raportează un timeout, iar conexiunea revine când transferul se termină. Acest tipar indică o coadă și procesare, nu un server îndepărtat căzut, pentru că serverul nu a primit niciodată șansa să răspundă la timp. Sarcina este să reproduci asta sub o sarcină controlată și să citești contoarele corecte.

Schimbă o singură variabilă pe execuție și ține punctul final fix.

Construiește o comparație de sarcină reproductibilă

Înregistrează o linie de bază cu legătura inactivă: timpul dus-întors, câteva cereri ale aplicațiilor și jurnalul de evenimente al tunelului însuși. Apoi pornește o încărcare de dimensiune cunoscută și repetă exact acele măsurători cât timp rulează. Ține neschimbate punctul final, clientul și destinația testului, pentru că schimbarea a două dintre ele deodată nu îți spune nimic.

Observă care eveniment apare primul. Un timp dus-întors crescător înainte de orice eroare sugerează o coadă; un timeout dur cu latență stabilă sugerează altceva, cum ar fi o rotație de chei sau o acțiune asupra contului. Cele două tipare duc la pași următori diferiți. Notează observația înainte de a schimba ceva.

Salvează rezultatul cu mărci de timp pentru ca execuțiile sub sarcină și în repaus să poată fi comparate linie cu linie.

Citește coada, nu viteza

Legăturile de consumator memorează pachetele în echipamentul furnizorului, iar o coadă de ieșire plină întârzie totul, inclusiv micile pachete de control care țin un tunel în viață. Un test de viteză care raportează o cifră mare spune puțin despre acea întârziere, de aceea un test în repaus trece în timp ce o legătură saturată eșuează.

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'

Compară cifrele de latență sub sarcină cu cele din repaus. Un salt de la zeci de milisecunde la sute, fără pierdere de pachete, este coadă; pierderea cu latență stabilă indică altă defecțiune.

Verifică dispozitivul și calea de control

Criptarea și redirecționarea costă timp de procesor, iar un router mic sau un laptop limitat termic poate pierde pachete cât timp este ocupat. Urmărește sarcina totală, nu procentul unui proces, pentru că redirecționarea în nucleu și tratarea întreruperilor nu apar unde se uită de obicei.

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

Un timeout al clientului poate coincide și cu o rotație de chei programată sau cu un eveniment de politică de sesiune. Citește jurnalul clientului însuși pentru ordinea evenimentelor, nu doar mesajul de eroare al aplicației.

Schimbă un singur lucru și repetă

Unde platforma permite, limitează rata de încărcare sau clasifică traficul în bloc sub cel interactiv pentru ca coada să nu se umple niciodată. Apoi repetă aceeași sarcină de lucru și compară aceleași trei cifre ca înainte. O schimbare care îmbunătățește un test de viteză dar lasă timeout-ul nu a reparat nimic.

Ridicarea time-out-urilor peste tot și slăbirea criptării sunt cele două schimbări care fac simptomul să dispară fără a identifica limita care a cedat. Niciuna nu este o reparație. Ambele mută eșecul mai târziu, unde este mai greu de atribuit.

Încheie testând o cerere nouă și comportamentul de reconectare pe care utilizatorul se bazează cu adevărat. Stabilitatea sub sarcina care a provocat reclamația este singurul rezultat care merită notat.

Articole similare