Utvrdite koju ste od tri granice dosegli prije nego kupite veću instancu. Jedno jezgro zaključano dok ostala miruju upućuje na kripto rad po toku. Sva jezgra zasićena tijekom prijenosa upućuju na ukupni kapacitet. Nizak CPU uz rastući broj ponovnih prijenosa upućuje na putanju. Svaka ima drugačiji prvi potez i samo se jedna rješava većom instancom.

Tri granice, jedna tablica, tri popravka

LimitReading during a transferFirst move
Single threadone core near 100%, siblings idlespread flows across workers
Aggregate CPUevery core busy, load average climbscapacity, or less work per byte
Path or providerlow CPU, retransmits or steal time highMTU, loss, host contention

Čitajte redove kao dijagnoze, a ne kao faze. Jedna nit na 100% dok ostale miruju najčešći je rezultat na pristupniku koji nosi jedan veliki tunel, jer enkripcija tog toka radi na jednom jezgru. Sva jezgra zauzeta tijekom prijenosa znači da stroj već radi koliko god može. Nizak CPU uz rastuće ponovne prijenose znači da procesor čeka mrežu koja stalno gubi podatke.

Popravite ih tim redoslijedom dokaza. Raspodjela tokova po radnicima pomaže prvom slučaju i ne čini ništa za drugi. Veća instanca pomaže drugom i traći novac na prvom. Popravak MTU-a ili gubitka jedini dira treći. Kupovina kapaciteta prije nego znate u kojem ste redu skupa je verzija nagađanja.

Odvojite zaključanu nit od zauzetog hosta

Počnite s iskorištenjem po jezgrama, da se jedno zaključano jezgro ne može sakriti u prosjeku. Jedno pokretanje tijekom prijenosa pokazuje je li opterećenje ravno ili šiljasto. Oba su oblika informativna, a šiljasti profil često znači da je prozor uzorkovanja uhvatio aktivnost raspoređivača, a ne enkripciju.

mpstat -P ALL 1 5

Pripšite zauzeto jezgro procesu, zatim niti. Sljedeće pokretanje drži roditeljske i podređene niti zajedno, što je važno kad se daemon grana za svaku vezu:

pidstat -u -t -p $(pgrep -f 'openvpn|wireguard|ipsec') 1 10

Kripto u jezgru nikad se ne pojavljuje u brojaču korisničkog procesa. Uzorkujte niti zasebno i usporedite taj prikaz s procesnim obračunom:

top -H -b -n 1 | head -20

Brojače socketa čitajte posljednje, jer oni odlučuju bi li više CPU-a uopće pomoglo. Rast ponovnih prijenosa uz ravan CPU nije problem procesora. Držite prijenos aktivnim dok uzorkujete, inače brojevi opisuju besposlen stroj:

ss -ti | grep -E 'retrans|cwnd|rtt'

Kontrolirani prijenos, izveden dvaput

Brojači u mirovanju ne dokazuju ništa, a benchmark prema slučajnom odredištu dokazuje vrlo malo. Odaberite jednog klijenta, jedno odredište i jedan reprezentativni prijenos koji smijete pokrenuti, pa zabilježite propusnost i interaktivno kašnjenje u istom prozoru. Pristupnik se može zasititi dok veliko kopiranje još završava, a krivulja kašnjenja je ono što korisnici stvarno osjete. Zapišite prijenos, broj klijenata i verziju daemona uz brojeve.

Ponovite pokretanje s nekoliko paralelnih tokova. Rast preko tokova upućuje na prozor po toku; ravnina uz zaključano jezgro upućuje na obradu.

Zatim ponovite još jednom sa zaustavljenim dodatnim radnim opterećenjima. Sigurnosna kopija, pošiljatelj zapisa ili baza podataka na istom hostu mogu dati zauzet prosjek koji nema veze s tunelima. Ako je CPU i dalje zaključan, a host je inače tih, dokazi upućuju na VPN proces. Ako padne, mjerili ste susjeda i pristupnik nikad nije bio problem.

Isključite putanju prije kupnje hardvera

Rast ponovnih prijenosa, skupljajući prozor zagušenja i rastuće vrijeme povratnog puta sve upućuju od procesora. Usporedite MTU tunela s MTU-om putanje, provjerite osnovnu vezu na gubitke i potvrdite da klijentov vlastiti uzlazni link nije granica. Veći pristupnik ne popravlja vezu koja ispušta pakete, a korisnici oba kvara opisuju istim riječima. Brojač ponovnih prijenosa razdvaja ih u minutama.

Na virtualnom poslužitelju dodajte mjernike pružatelja onima gosta. Ukradeno vrijeme je način na koji preprodaja postaje vidljiva unutar gosta i nikakvo podešavanje unutar gosta to ne uklanja. Brojači gosta ne vide host, pa čist graf gosta nije dokaz zdravog hosta.

Jedna promjena, jedno mjerenje

Odaberite hipotezu koju dokazi podržavaju, pa promijenite točno jednu podržanu postavku: broj radnika, dokumentiranu opciju rasterećenja ili veličinu instance. OpenVPN objavljuje vodič za rješavanje problema s performansama o istoj podjeli između obrade i prijenosa: Rješavanje problema s performansama OpenVPN-a.

Potvrdite da je opcija rasterećenja stvarno aktivna umjesto da vjerujete zastavici, pa ponovite identični prijenos i usporedite slično sa sličnim. To je jedini način da razlikujete stvarno poboljšanje od tihog poslijepodneva. Čuvajte kontrolnu točku koju možete vratiti, jer se na drugoj promjeni ljudi izgube u tome koja je pomogla. Jedna varijabla po pokretanju spora je za dan, a brza za mjesec.

Ne slabite autentifikaciju ni skup šifri da bi graf izgledao bolje. Ako CPU i dalje ne prati simptom, vratite se provjerama putanje i aplikacije umjesto nadogradnje na nagađanje.

Povezani članci