Vihesabu vya trafiki vya OpenVPN dhidi ya I/O ya diski: nambari tatu tofauti
Baiti za kiolesura, vihesabu vya herufi vya mchakato na maandishi kwenye diski hupima kazi tofauti. Vilinganishe kabla ya kukadiria diski kwa ujazo wa handaki.
Pitisha faili kubwa kupitia handaki na kihesabu cha kiolesura huongezeka kwa ukubwa wa faili. Hakuna kitu katika nambari hiyo kinachoonyesha kwamba ujazo huo ulifika kwenye diski. Katika majadiliano haya vipimo vitatu tofauti hulinganishwa, na hujibu maswali matatu tofauti: ni trafiki ngapi ilivuka tabaka la mtandao, baiti ngapi mchakato ulisoma na kuandika kupitia miito ya mfumo, na kazi ngapi ilifika kwenye tabaka la hifadhi.
Kulinganisha la kwanza na la tatu ni kosa la kawaida, na huzalisha ama tatizo la diski la kivuli ama mpango wa uwezo unaopuuza maandishi yanayotokea kwa kweli. Matatu haya yanaweza kutenganishwa, na kila moja lina matumizi sahihi.
Nambari tatu zinazochanganywa
Vihesabu vya kiolesura hueleza trafiki inayoshughulikiwa katika tabaka la mtandao. Ni nambari sahihi kwa upana wa bendi, kwa ukubwa wa handaki na kwa modeli za malipo zinazoweka bei kwa upitishaji.
Vihesabu vya herufi vya mchakato hueleza baiti zilizohamishwa kupitia miito ya kusoma na kuandika kwenye kifafanuzi chochote, ikiwa ni pamoja na mabomba, vituo na vifaa vya herufi. Ni nambari sahihi kwa kuuliza jinsi mchakato ulivyo na shughuli nyingi kwenye ukingo wa mwito wa mfumo, na si bili ya hifadhi.
Vihesabu vya hifadhi hueleza baiti ambazo kiini kilijaribu kuhamisha kwenda au kutoka kwenye kifaa cha blokki. Ni nambari sahihi kwa upangaji wa uwezo, kwa sharti kwamba kiini huandika mipaka yake ya uhasibu: usomaji uliowekwa kwenye akiba haubadiliki kuwa usomaji wa hifadhi, na uandishi unaoghairiwa baadaye haubadiliki kuwa uandishi kamili wa kifaa.
| Measurement | Question it answers |
|---|---|
| Interface bytes | How much traffic crossed this layer |
rchar and wchar | How much data the process moved through system calls |
read_bytes and write_bytes | How much work reached the storage layer |
Kwa nini kifafanuzi cha faili si uandishi wa diski
VPN ya nafasi ya mtumiaji hubadilishana pakiti na kiini kupitia kifaa cha TUN, ambacho ni kifaa cha herufi na si faili la kawaida. Kusoma kutoka humo huwasilisha pakiti; kuandika humo huingiza pakiti. Hakuna ukurasa wa maudhui ya faili unaoandaliwa kwa hifadhi, na hakuna njia ya mfumo wa faili inayohusika.
Ndiyo sababu handaki yenye shughuli nyingi linaweza kuonyesha vihesabu vikubwa vya herufi bila karibu vihesabu vya hifadhi. Mchakato ulihamisha baiti hizo kwa kweli, na kiini hakikuhitaji diski kufanya hivyo.
cat /proc/$(pgrep -n openvpn)/io
ip -s link show tun0
Soma matokeo ya kwanza kama jumla tangu mchakato ulipoanza, si kama kasi. Ya pili hutoa mwonekano wa kiolesura wa trafiki hiyo hiyo. Pengo kubwa kati ya hizo mbili linatarajiwa na halionyeshi uvujaji, foleni au usanidi mbovu.
Baiti zinatoka wapi kwa kweli
Matokeo ya kudumu yana bajeti yake, na huendeshwa na shughuli badala ya mzigo. Kiwango cha kumbukumbu cha kina, orodha ya wateja inayobadilika mara nyingi, au hitilafu inayojirudia katika mzunguko mkazo vinaweza kuzalisha maandishi makubwa wakati handaki linabeba kidogo sana.
Faili la hali ni picha inayoandikwa upya kwa muda, kwa hiyo gharama yake inategemea muda na rekodi ngapi zilizomo. Si nakala inayoendelea ya trafiki ya kila mteja, na kufupisha muda hubadilisha ujazo wa maandishi bila kubadilisha ujazo wa trafiki.
Umiliki ni muhimu unapotafuta maandishi hayo. Ikiwa huduma inawasilisha ujumbe kwa daemon ya kumbukumbu, jarida au faili la kumbukumbu huandikwa na daemon huyo, na baiti huonekana katika uhasibu wa daemon na si katika vihesabu vya mchakato wa VPN wenyewe. Kuangalia mchakato wa VPN pekee hakuelezi shughuli za diski wala kutokuwepo kwake.
Wachangiaji wengine ni rahisi kupuuzwa: usomaji wa vyeti na usanidi wakati wa kuanza, ndoano zinazoandika rekodi zao, programu-jalizi za uhasibu, dampu za kuanguka na mizigo isiyohusiana kwenye mwenyeji huyo huyo. Hakuna hata mmoja wao anayepaswa kukadiriwa kwa kusawazisha trafiki ya handaki na baiti zilizoandikwa.
Kusoma kila kihesabu kwa usahihi
Maelezo matatu huamua kama ulinganishaji una maana. Utambulisho wa mchakato ni muhimu, kwa sababu huduma iliyoanzishwa upya huweka upya vihesabu vyake. Muda wa muda ni muhimu, kwa sababu takwimu ya jumla na chati ya kila sekunde ni vipimo tofauti. Na kipimo ni muhimu, kwa sababu ukubwa wa sasa wa faili la kumbukumbu pia si kasi.
grep -E 'rchar|wchar|read_bytes|write_bytes' /proc/$(pgrep -n openvpn)/io
du -sh /var/log/openvpn 2>/dev/null
journalctl --disk-usage
Ikiwa unashuku maandishi halisi ya mzigo, tafuta kipengele ambacho kazi yake ni kuhifadhi mzigo: kifaa cha kunasa pakiti, proksi inayohifadhi miili kwenye akiba, programu-jalizi inayohifadhi kumbukumbu. Hivi huzalisha trafiki ya hifadhi inayokua kulingana na kile wanachotakiwa kurekodi, na ni sehemu ya uamuzi tofauti wa sera kuhusu uhifadhi na ufikiaji.
Kupanga uwezo kwa nambari sahihi
Pima njia ya pakiti kwa nambari za mtandao: upitishaji, uchakataji wa siri na mwendo wa kumbukumbu. Pima hifadhi kwa maamuzi ya uonekano uliyofanya kwa kweli: kiwango cha kumbukumbu, uhifadhi, muda wa hali na unasa wowote uliowashwa kwa makusudi.
Kutenganisha bajeti hizi mbili pia hurahisisha kusoma matukio. Diski iliyojaa na trafiki ya handaki ya wastani huelekeza kwenye kumbukumbu, unasa au kitu kisichohusiana, na kihesabu cha kiolesura hakitaeleza hilo kamwe. Kiungo kilichojaa na kumbukumbu tulivu huelekeza upande mwingine.
Ulinganishaji unaostahili kufanywa ni kati ya vipimo vya aina moja. Baiti za kiolesura dhidi ya baiti za kiolesura kwa muda hukuambia kuhusu njia. Maandishi ya hifadhi dhidi ya uwezo wa hifadhi hukuambia kuhusu uhifadhi. Ulinganishaji mtambuka, trafiki dhidi ya diski, huonekana kuwa na maana tu na kamwe haukuwa hivyo.