VPN pārtrūkst lielu augšupielāžu laikā: vispirms lasiet rindu
Piesātināta augšupielādes rinda aizkavē gan vadības datu plūsmu, gan lietotnes. Salīdziniet uzvedību tukšā un noslogotā stāvoklī, pēc tam mainiet vienu lietu un atkārtojiet testu.
Tunelis visu dienu ir stabils, un tad pārtrūkst ikreiz, kad sākas liela augšupielāde. Interaktīvie pieprasījumi vispirms iestieg, klients ziņo par taimautu, un savienojums atgriežas, kad pārsūtīšana beidzas. Šis modelis norāda uz rindu un apstrādi, nevis uz to, ka attālais serveris ir nokritis, jo serverim nekad netika dota iespēja laikus atbildēt. Uzdevums ir to reproducēt kontrolētas slodzes apstākļos un nolasīt pareizos skaitītājus.
Mainiet vienu mainīgo uz vienu palaidienu un turiet galapunktu fiksētu.
Izveidojiet atkārtojamu slodzes salīdzinājumu
Fiksējiet bāzes līniju, kamēr saite ir tukša: turp un atpakaļ laiku, dažus lietotnes pieprasījumus un paša tuneļa notikumu žurnālu. Pēc tam sāciet zināma lieluma augšupielādi un atkārtojiet tieši tos pašus mērījumus, kamēr tā darbojas. Turiet galapunktu, klientu un testa galamērķi nemainītus, jo divu no tiem maiņa vienlaikus neko nepasaka.
Pievērsiet uzmanību, kurš notikums parādās pirmais. Pieaugošs turp un atpakaļ laiks pirms jebkuras kļūdas liecina par rindu; stingrs taimauts ar stabilu aizturi liecina par ko citu, piemēram, atslēgu atjaunošanu vai darbību kontā. Abi modeļi ved pie dažādiem nākamajiem soļiem. Pierakstiet novērojumu, pirms kaut ko maināt.
Saglabājiet izvadi ar laika zīmogiem, lai noslogoto un tukšo palaidienu varētu salīdzināt rindu pa rindai.
Lasiet rindu, nevis ātrumu
Patērētāju līnijas buferē paketes pakalpojumu sniedzēja aprīkojumā, un pilna augšupielādes rinda aizkavē visu, tostarp mazās vadības paketes, kas uztur tuneli dzīvu. Ātruma tests, kas uzrāda lielu skaitli, maz ko saka par šo aizkavi, tāpēc tests tukšā saite iztur, bet piesātināta saite neiztur.
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'
Salīdziniet noslogotās aiztures skaitļus ar tukšajiem. Lēciens no desmitiem milisekunžu līdz simtiem bez pakešu zuduma ir rinda; zudums ar stabilu aizturi norāda uz citu bojājumu.
Pārbaudiet ierīci un vadības ceļu
Šifrēšana un pārsūtīšana patērē procesora laiku, un mazs maršrutētājs vai termiski ierobežots portatīvais dators var nomest paketes, kamēr tas ir aizņemts. Vērojiet kopējo slodzi, nevis viena procesa procentuālo daļu, jo pārsūtīšana kodolā un pārtraukumu apstrāde neparādās tur, kur cilvēki parasti skatās.
uptime mpstat -P ALL 1 3 dmesg | grep -i -E 'thermal|throttl' journalctl -u openvpn-server@server --since '10 min ago' | tail -20
Klienta taimauts var arī sakrist ar ieplānotu atslēgu atjaunošanu vai sesijas politikas notikumu. Lasiet paša klienta žurnālu, lai uzzinātu notikumu secību, nevis tikai lietotnes kļūdas ziņojumu.
Mainiet vienu lietu un atkārtojiet
Kur platforma to atbalsta, ierobežojiet augšupielādes ātrumu vai klasificējiet lielapjoma datu plūsmu zem interaktīvās, lai rinda nekad nepiepildītos. Pēc tam atkārtojiet to pašu darba slodzi un salīdziniet tos pašus trīs skaitļus kā iepriekš. Izmaiņa, kas uzlabo ātruma testu, bet atstāj taimautu, neko nav salabojusi.
Taimautu celšana visur un šifrēšanas vājināšana ir tās divas izmaiņas, kas likvidē simptomu, nenosakot, kura robeža sabruka. Neviena no tām nav labojums. Abas pārceļ kļūmi vēlāk, kur to grūtāk attiecināt.
Nobeigumā pārbaudiet jaunu pieprasījumu un atkārtotas pievienošanās uzvedību, uz ko lietotājs patiešām paļaujas. Stabilitāte zem slodzes, kas izraisīja sūdzību, ir vienīgais rezultāts, ko ir vērts pierakstīt.