Mzigo wa seva ya VPN umeelezwa: watumiaji, CPU au kiungo cha juu?
Alama ndogo ya mzigo inaweza kumaanisha watumiaji waliokaa bila kazi, CPU iliyobaki au kiungo kipana cha juu. Soma loadavg, vihesabu vya kiolesura na faili ya hali kabla ya kuiita ya haraka.
Lango lenye mzigo wa 0.4 bado linaweza kutambaa kwa kila mtumiaji aliye nyuma yake. Mzigo wa wastani huhesabu kazi zinazoweza kuendeshwa au zilizokwama katika usingizi usioweza kukatizwa, na kwenye mwenyeji wa viini vinne mchakato mmoja uliojaa unatosha kuusukuma kuelekea 1.0 wakati viini vitatu vimekaa bila kazi. Kusoma namba hiyo kama akiba ni kosa la kawaida zaidi katika kuchagua kituo cha mwisho. Kinachozuia handaki kwa kweli ni kimoja cha mambo manne: kiini kimoja kilicho na kazi, kiungo cha juu, foleni iliyo mbele yake au sera ya kikao ambayo hakuna aliyedokumentisha.
Mzigo wa wastani huhesabu kazi, si upitishaji
Kiini huchukua sampuli za foleni ya utekelezaji na idadi ya kazi zinazosubiri ingizo na matokeo, kisha hulainisha zote mbili kwa dakika moja, tano na kumi na tano. Hakuna chochote katika ufafanuzi huo kinachotaja baiti, pakiti au handaki. Mwenyeji aliyekwama hifadhi anaweza kuripoti mzigo mkubwa bila trafiki karibu yoyote, na mwenyeji anayesukuma gigabiti kupitia njia ya data ya kiini anaweza kuripoti mzigo mzuri.
Kwa hivyo kuhusisha mzigo na utendaji wa handaki kunahitaji mtazamo kwa kila kiini. Ikiwa kiini kimoja kimejaa, asilimia ya jumla kwenye dashibodi bado itaonekana vizuri:
cat /proc/loadavg
mpstat -P ALL 1 1
top -H -b -n 1 | head -n 20
Amri ya tatu ndiyo muhimu zaidi kwenye wenyeji wa VPN. Uchakataji wa pakiti katika nafasi ya mtumiaji katika OpenVPN 2.x mara nyingi hupangwa kwa mchakato mmoja baada ya mwingine, kwa hivyo uzi mmoja wenye kazi unaweza kuwa dari wakati dashibodi inaripoti uwezo mwingi wa bure. Ikiwa uzi mmoja unashikilia sehemu kubwa ya kiini katika kipindi chako cha polepole, mwenyeji haukupungukiwa rasilimali kwa ujumla; umezuiwa katika kipimo kinachotokea kuwa muhimu.
Angalia pia muda. Wastani wa dakika kumi na tano huficha mlipuko ulioharibu simu, kwa hivyo picha ya skrini iliyopigwa baada ya malalamiko ni ushahidi hafifu. Chukua sampuli wakati wa tatizo, na uhifadhi muhuri wa muda pamoja na matokeo.
Kiungo cha juu na foleni iliyo mbele yake
Vihesabu vya kiolesura hujibu swali la upana wa bendi ambalo namba za CPU haziwezi. Pia hutenganisha uwezo na upotevu, na haya ni hitilafu tofauti zenye suluhisho tofauti:
ip -s link show dev eth0
tc -s qdisc show dev eth0
nstat -az TcpRetransSegs TcpExtTCPLostRetransmit
Kiungo kilicho karibu na kiwango chake kilichotengwa wakati wa jaribio lako ndiyo maelezo, na hakuna kiasi cha CPU ya bure kinachobadilisha hilo. Mstari wa qdisc unaongeza undani unaohesabiwa kwa trafiki ya mwingiliano: mrundikano na matone hukuambia kama pakiti zinasubiri kwenye foleni kabla ya kuondoka. Foleni inayojazana chini ya upakiaji mkubwa huzalisha dalili hasa ambayo watu wanaishutumu seva ya mbali, yaani simu za polepole kwenye muunganisho ambao bado unaonyesha vizuri kwenye vipimo.
Vihesabu vya kutuma upya hukamata hali ambapo pakiti zinaondoka lakini hazifiki safi kamwe. Ikiwa kutuma upya kunaongezeka katika dirisha la polepole na kiolesura hakiko karibu na uwezo, tatizo liko kwenye njia na si kwenye mwenyeji, na kuhamia kwenye kituo kingine cha mwisho katika mji huo hakutasaidia.
Idadi ya vikao inaeleza mahitaji, si akiba
Kila saraka ya umma inaonyesha idadi fulani ya watumiaji waliounganishwa, na karibu hakuna inayokuambia hao watumiaji wanafanya nini. Vikao ishirini vinavyofanya kazi ya mwingiliano na vikao vinne vinavyovuta faili kubwa huzalisha mizigo tofauti sana kwenye vifaa sawa. Mfumo wa pili hauonekani katika idadi ya watumiaji, na ndio unaoharibu jioni. Kwa hivyo idadi ya vikao inasomwa vyema kama kidokezo kuhusu mahitaji, kamwe si kama tamko kuhusu uwezo wa bure.
| Number on the page | What it is really measuring | What it cannot tell you |
|---|---|---|
| Connected users | How many sessions hold an address | How much each one is transferring |
| Load or score | Whatever the operator chose to publish | Whether that definition matches your task |
| Uptime | How long since the process started | Current capacity, queue depth or packet loss |
| Distance or ping | Round-trip time on a small probe | Throughput under sustained transfer |
Kwenye mwenyeji unaoudhibiti, faili ya hali inatoa kipimo kinachokosekana. OpenVPN huandika picha ya mara kwa mara inayojumuisha vihesabu vya baiti kwa kila mteja, na hiyo inatosha kuona kama kikao kimoja kinahusika na kiungo chote cha juu:
status /run/openvpn/server.status 10
# then, after at least one interval
grep -E "^CLIENT_LIST" /run/openvpn/server.status
Sampuli mbili zilizotenganishwa na sekunde kumi hubadilisha hesabu hizo zilizokusanywa kuwa kiwango kwa kila mteja. Hiyo ndiyo kipimo ambacho idadi ya watumiaji inasimama badala yake, na hivyo pia unagundua kwamba mteja mmoja aliyesanidiwa vibaya hujaza kiungo kila usiku saa hiyo hiyo.
Mipaka ya kila kikao imefichwa ndani ya sera
Seva inaweza kuwa bila kazi na bado ikakataa kukupa upana wa bendi. Mipaka ya kiwango, mipaka ya juu ya upana wa bendi kwa mteja na uundaji wa trafiki mara nyingi hutumika kwa jina la pamoja au kwa bwawa, kwa hivyo watumiaji wawili kwenye lango moja wanaweza kupata matokeo tofauti sana. Utaratibu si wa hila, lakini hauonekani kutoka nje kwa sababu handaki huinuka kawaida katika hali zote mbili.
Tafuta uundaji kwenye kiolesura cha handaki na si kile cha kimwili. Angalia kama kikomo kinafuata mtumiaji, cheti au bwawa la anwani. Ikiwa akaunti yako ya majaribio itaangukia kwenye bwawa lisilo na kikomo, utahitimisha kwamba seva iko sawa na mtumiaji anayelalamika amekosea. Hitimisho hilo ni baya kuliko kutokuwa na hitimisho, kwa sababu hufunga tikiti.
Linganisha vituo viwili vya mwisho kwa kazi moja isiyobadilika
Jaribio la upande wa mteja bado linafaa kufanywa, lakini tu ikiwa vigezo vimefungwa. Tumia kifaa kile kile, mtandao ule ule wa ufikiaji, itifaki ile ile na faili ile ile ya lengo, kisha rudia dhidi ya kituo cha pili cha mwisho kwa umbali sawa. Chochote kinachobadilika kati ya vipimo, ikiwa ni pamoja na muda wa siku, huchafua matokeo.
Rekodi kushindwa kwa uangalifu kama mafanikio. Mfululizo ambao vituo vitatu vinafanya kazi na kimoja kinaisha kwa muda ni wa kuelimisha zaidi kuliko namba nne za kasi, kwa sababu unaonyesha tatizo la njia au sera na si la uwezo. Endesha kila kisa angalau mara mbili; sampuli moja ya polepole haithibitishi chochote kwenye mtandao unaoshirikiwa.
Hatimaye, hifadhi namba ulizokusanya pamoja na madai zinazoyaunga mkono. "Kituo hiki cha mwisho kilikamilisha uhamishaji katika dirisha lile lile ambalo kingine kilikwama" ni jambo linaloweza kutetewa, wakati "kituo hiki cha mwisho ni cha haraka zaidi" hualika mjadala ambao hauwezi kushinda kwa alama ya ukurasa wa mwanzo. Mwongozo wa OpenVPN 2.6 unaandika faili ya hali na chaguo za uundaji ikiwa unahitaji maagizo kamili ya upande wa mwenyeji.