Saatke suur fail tunnelist läbi ja liidese loendur kasvab faili suuruse võrra. Miski selles arvus ei tähenda, et sama maht jõudis kettale. Nendes aruteludes võrreldakse kolme erinevat mõõtmist ja need vastavad kolmele erinevale küsimusele: kui palju liiklust ületas võrgukihi, kui palju baite protsess süsteemikõnede kaudu luges ja kirjutas, ning kui palju tööd jõudis salvestuskihini.

Esimese ja kolmanda võrdlemine on tavaline viga ning see tekitab kas kummitusliku kettaprobleemi või mahutavuskava, mis eirab kirjutusi, mis tegelikult toimuvad. Need kolm on eraldatavad ja igal neist on õige kasutus.

Kolm arvu, mida segi aetakse

Liidese loendurid kirjeldavad liiklust, mida töödeldakse võrgukihis. Need on õige arv ribalaiuse, tunneli suuruse ja transiiti hinnastavate arveldusmudelite jaoks.

Protsessi märgiloendurid kirjeldavad baite, mis liikusid lugemis- ja kirjutamiskõnede kaudu mis tahes kirjeldajal, sealhulgas torudes, terminalides ja märgiseadmetes. Need on õige arv, et küsida, kui hõivatud on protsess süsteemikõne piiril, ja need ei ole salvestusarve.

Salvestusloendurid kirjeldavad baite, mida tuum püüdis plokkseadmesse või sealt liigutada. Need on õige arv mahutavuse planeerimiseks, tingimusel et tuum dokumenteerib oma arvestuspiirid: vahemällu salvestatud lugemised ei muutu salvestuslugemisteks ja hiljem tühistatud kirjutus ei muutu lõpetatud seadmekirjutuseks.

MeasurementQuestion it answers
Interface bytesHow much traffic crossed this layer
rchar and wcharHow much data the process moved through system calls
read_bytes and write_bytesHow much work reached the storage layer

Miks failikirjeldaja ei ole kettale kirjutamine

Kasutajaruumi VPN vahetab tuumaga pakette TUN-seadme kaudu, mis on märgiseade, mitte tavaline fail. Sellest lugemine annab paketi üle; sinna kirjutamine süstib paketi. Salvestamiseks ei valmistata ette ühtegi faili sisu lehekülge ja kaasatud ei ole ühtegi failisüsteemi rada.

Seetõttu võib hõivatud tunnel näidata tohutuid märgiloendureid peaaegu ilma salvestusloenduriteta. Protsess liigutas need baidid tõesti ja tuum ei vajanud selleks tõesti ketast.

cat /proc/$(pgrep -n openvpn)/io
ip -s link show tun0

Lugege esimest väljundit kumulatiivsena protsessi käivitamisest, mitte kiirusena. Teine annab sama liikluse liidesevaate. Suur vahe nende kahe vahel on ootuspärane ega viita lekkimisele, järjekorrale ega valele seadistusele.

Kust baidid tegelikult tulevad

Püsival väljundil on oma eelarve ja seda juhivad toimingud, mitte kasulik koormus. Üksikasjalik logitase, sageli muutuv kliendiloend või tihedas tsüklis korduv viga võivad tekitada märkimisväärseid kirjutusi, samal ajal kui tunnel veab väga vähe.

Olekufail on intervalliga ümber kirjutatav hetktõmmis, seega sõltub selle hind intervallist ja sellest, kui palju kirjeid see sisaldab. See ei ole iga kliendi liikluse jooksev koopia ja intervalli lühendamine muudab kirjutuse mahtu ilma liikluse mahtu muutmata.

Omandisuhe on oluline, kui neid kirjutusi otsite. Kui teenus annab sõnumid logidaemonile üle, kirjutab päevikut või logifaili see daemon ja baidid ilmuvad daemoni arvestusse, mitte VPN-protsessi enda loenduritesse. Ainult VPN-protsessi vaatamine ei selgita ei ketta aktiivsust ega selle puudumist.

Teisi panustajaid on lihtne tähelepanuta jätta: sertifikaatide ja seadistuse lugemine käivitamisel, oma kirjeid kirjutavad konksud, arvestuspluginad, krahhidummid ja samas hostis sõltumatud töökoormused. Ühtegi neist ei tohiks hinnata, võrdsustades tunneli liikluse kirjutatud baitidega.

Iga loenduri õige lugemine

Kolm üksikasja otsustavad, kas võrdlus midagi tähendab. Protsessi identiteet on oluline, sest taaskäivitatud teenus nullib oma loendurid. Ajavahemik on oluline, sest kumulatiivne arv ja sekundipõhine graafik on erinevad mõõtmised. Ja ühik on oluline, sest logifaili praegune suurus ei ole samuti kiirus.

grep -E 'rchar|wchar|read_bytes|write_bytes' /proc/$(pgrep -n openvpn)/io
du -sh /var/log/openvpn 2>/dev/null
journalctl --disk-usage

Kui kahtlustate tegelikke kasuliku koormuse kirjutusi, otsige komponenti, mille ülesanne on koormust salvestada: paketipüüdmise tööriist, kehasid vahemällu salvestav puhverserver, arhiveeriv plugin. Need tekitavad salvestusliiklust, mis skaleerub sellega, mida neil palutakse salvestada, ja kuuluvad eraldi poliitikaotsuse juurde säilitamise ja juurdepääsu kohta.

Mahutavuse planeerimine õige arvuga

Mõõtke paketitee võrguarvudega: läbilaskevõime, krüptograafiline töötlemine ja mäluliikumine. Mõõtke salvestus nende jälgitavusvalikutega, mille te tegelikult tegite: logitase, säilitamine, olekuintervall ja mis tahes meelega lubatud püüdmine.

Nende kahe eelarve lahus hoidmine teeb ka juhtumid kergemini loetavaks. Täis ketas tagasihoidliku tunneliliiklusega viitab logidele, püüdmistele või millelegi sõltumatule ja liidese loendur ei selgita seda kunagi. Küllastunud link vaikse logiga viitab teisele poole.

Võrdlus, mida tasub teha, on sama liiki mõõtmiste vahel. Liidese baidid liidese baitide vastu ajas räägivad teele. Salvestuskirjutused salvestusmahutavuse vastu räägivad säilitamisest. Ristvõrdlus, liiklus ketta vastu, ainult tundub tähenduslik ja ei ole seda kunagi.

Seotud artiklid