Үлкен файлды туннель арқылы өткізіңіз, интерфейс санағышы файл көлеміне өседі. Бұл санда сол көлемнің дискіге жеткенін білдіретін ештеңе жоқ. Бұл талқылауларда үш түрлі өлшем салыстырылады және олар үш түрлі сұраққа жауап береді: қанша трафик желілік қабаттан өтті, процесс жүйелік шақырулар арқылы қанша байт оқып жазды және қанша жұмыс сақтау қабатына жетті.

Біріншіні үшіншімен салыстыру әдеттегі қате және ол не қағаз жүзіндегі дискі мәселесін, не нақты болып жатқан жазуларды елемейтін сыйымдылық жоспарын тудырады. Үшеуі бөлінетін, әрқайсысының дұрыс қолданысы бар.

Шатастырылатын үш сан

Интерфейс санағыштары желілік қабатта өңделетін трафикті сипаттайды. Олар өткізу қабілеті, туннель мөлшері және транзитті бағалайтын төлем модельдері үшін дұрыс сан.

Процестің таңба санағыштары құбырлар, терминалдар және таңбалық құрылғыларды қоса, кез келген дескриптордағы оқу және жазу шақырулары арқылы жылжыған байттарды сипаттайды. Олар процесс жүйелік шақыру шегінде қаншалықты бос еместігін сұрау үшін дұрыс сан, және олар сақтау шоты емес.

Сақтау санағыштары ядроның блоктық құрылғыға немесе одан жылжытпақ болған байттарын сипаттайды. Олар сыйымдылықты жоспарлау үшін дұрыс сан, алайда ядро өзінің есеп шектерін құжаттайды: кэштегі оқулар сақтау оқуларына айналмайды, ал кейін жойылған жазу аяқталған құрылғы жазуына айналмайды.

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

Неге файл дескрипторы дискіге жазу емес

Пайдаланушы кеңістігіндегі VPN ядромен пакеттерді TUN құрылғысы арқылы алмасады, ол кәдімгі файл емес, таңбалық құрылғы. Одан оқу пакетті береді; оған жазу пакетті енгізеді. Сақтауға дайындалатын файл мазмұнының беті жоқ және файлдық жүйе жолы қатыспайды.

Сондықтан бос емес туннель сақтау санағыштары жоқ дерлік күйде алып таңба санағыштарын көрсете алады. Процесс сол байттарды шынымен жылжытты, ал ядроға мұны істеу үшін шынымен дискі керек болмады.

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

Бірінші шығысты процес басталғаннан бергі жинақталған мән ретінде оқыңыз, жылдамдық ретінде емес. Екіншісі сол трафиктің интерфейстік көрінісін береді. Екеуі арасындағы үлкен алшақтық күтілетін және ағып кетуді, кезекті немесе қате конфигурацияны білдірмейді.

Байттар шын мәнінде қайдан келеді

Тұрақты шығыстың өз бюджеті бар және оны пайдалы жүктеме емес, операциялар басқарады. Егжей-тегжейлі журнал деңгейі, жиі өзгеретін клиент тізімі немесе тар циклде қайталанатын қате туннель өте аз тасымалдап жатқанда да елеулі жазулар туғыза алады.

Күй файлы белгілі бір аралықта қайта жазылатын сурет, сондықтан оның құны аралыққа және онда қанша жазба бар екеніне байланысты. Ол әр клиенттің трафигінің жүріп тұрған көшірмесі емес, ал аралықты қысқарту трафик көлемін өзгертпей жазу көлемін өзгертеді.

Ол жазуларды іздегенде меншік маңызды. Егер қызмет хабарламаларды журнал демонына береді болса, журнал немесе журнал файлын сол демон жазады және байттар VPN процесінің өз санағыштарында емес, демонның есебінде көрінеді. Тек VPN процесіне қарау дискі белсенділігін де, оның жоқтығын да түсіндірмейді.

Басқа үлес қосушыларды байқамау оңай: іске қосылуда сертификаттар мен конфигурацияны оқу, өз жазбаларын жазатын ілмектер, есепке алу қосымшалары, құлау дамптары және сол хосттағы байланыссыз жүктемелер. Олардың ешқайсысын туннель трафигін жазылған байттарға теңестіру арқылы бағалауға болмайды.

Әр санағышты дұрыс оқу

Үш бөлшек салыстырудың мәні бар-жоғын анықтайды. Процестің сәйкестігі маңызды, өйткені қайта іске қосылған қызмет санағыштарын нөлдейді. Уақыт аралығы маңызды, өйткені жинақталған сан мен секундтық график әртүрлі өлшемдер. Ал өлшем бірлігі маңызды, өйткені журнал файлының ағымдағы мөлшері де жылдамдық емес.

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

Егер нақты пайдалы жүктеме жазуларына күмәндансаңыз, міндеті пайдалы жүктемені сақтау болып табылатын құрамдасты іздеңіз: пакеттерді ұстау құралы, денелерді кэштейтін прокси, архивтейтін қосымша. Олар өздерінен жазу сұралған көлемге қарай өсетін сақтау трафигін тудырады және сақтау мен қатынау туралы жеке саяси шешімге жатады.

Сыйымдылықты дұрыс санмен жоспарлау

Пакет жолын желілік сандармен өлшеңіз: өткізу қабілеті, криптографиялық өңдеу және жады қозғалысы. Сақтауды өзіңіз шынымен қабылдаған бақылану шешімдерімен өлшеңіз: журнал деңгейі, сақтау мерзімі, күй аралығы және әдейі қосылған кез келген ұстау.

Осы екі бюджетті бөлек ұстау оқиғаларды оқуды да жеңілдетеді. Орташа туннель трафигімен толған диск журналдарға, ұстауларға немесе байланыссыз нәрсеге нұсқайды және интерфейс санағышы оны ешқашан түсіндірмейді. Тыныш журналмен қаныққан байланыс қарама-қарсы жаққа нұсқайды.

Жасауға тұрарлық салыстыру — бір түрдегі өлшемдер арасында. Уақыт бойынша интерфейс байттары интерфейс байттарына қарсы жол туралы айтады. Сақтау жазулары сақтау сыйымдылығына қарсы сақтау мерзімі туралы айтады. Айқас салыстыру, трафик дискіге қарсы, тек мағыналы болып көрінеді және ешқашан олай болмайды.

Қатысты мақалалар