Праслой — гэта стан, у якім хатні VPN-бокс праводзіць амаль усё сваё жыццё, таму менавіта яго і варта мераць. Тая ж машына павінна адказваць на злучэнне, аддаваць файл і даводзіць рэзервовае капіраванне, пакуль тунель узняты, і гэтыя тры задачы цягнуць у розныя бакі. Цішыня, нізкае спажыванне і пастаянная даступнасць — гэта асобныя ўласцівасці, і спецыфікацыя не апісвае ні адной з іх. Калі прайсці праверкі ніжэй па парадку, рашэнне пра абсталяванне не ператворыцца ў перабудову праз шэсць месяцаў.

Пачынайце з роляў, а не з дэталяў

Запішыце кожную задачу, якую бокс павінен выконваць, пакуль ніхто не глядзіць. Шлюз WireGuard або OpenVPN, файлавы агульны рэсурс, мэта рэзервовага капіравання і задача індэксацыі маюць розныя пастаянныя выдаткі, і адна машына, якая робіць усе чатыры, мае значна вышэйшую ніжнюю мяжу, чым тая, што робіць толькі першую. Спажыванне ў прастоі — гэта сума гэтых ніжніх межаў, а не іх сярэдняе. Таму два боксы, якія апісваюць як эканомныя, могуць адрознівацца ўтрая ў адным пакоі.

Рашэнне, прынятае зарана, ці жывуць даныя на тым жа хосце, што і тунель, абмяжоўвае ўсё астатняе. Асобныя хасты азначаюць два спажыванні ў прастоі, але шлюз, які не спіць, пакуль сховішча спіць; адзін хост азначае адно спажыванне і адзін домен адмовы. Ні адзін варыянт не памылковы, але адказ трэба запісаць да таго, як з'явіцца спіс дэталяў.

Памерыце ўвесь бокс у трох станах

Насценны лічыльнік паміж разеткай і блокам сілкавання — адзіны сумленны інструмент тут, бо ён улічвае страты на пераўтварэнне, раскрутку дыска і кожную USB-прыладу, якую вы забылі. Запішыце тры лікі: праслой з узнятым тунэлем і без нічога іншага, той жа бокс пад сапраўднай аддаленай перадачай і бокс падчас запланаванага рэзервовага капіравання.

Праграмныя лічыльнікі дапамагаюць растлумачыць паказнік насценнага лічыльніка, але не замяняюць яго. Інтэрфейс RAPL паведамляе энергію пакета і вобласці памяці, што выключае страты блока сілкавання і ўсё, што падключана праз USB.

read -r a < /sys/class/powercap/intel-rapl:0/energy_uj; sleep 60; read -r b < /sys/class/powercap/intel-rapl:0/energy_uj
awk -v a="$a" -v b="$b" 'BEGIN{printf "package average: %.1f W\n", (b-a)/60/1000000}'

Шум патрабуе такога ж падыходу. Корпус без вентылятараў прыбірае адну крыніцу і пакідае цвёрды дыск, блок сілкавання і гудзенне дроселяў, таму слухайце падчас рэзервовага капіравання, а не каля запрашэння ўваходу. Тэмпература належыць да таго ж этапу: чытайце датчыкі пад працяглай нагрузкай і ніколі не адключайце цеплавую ахову, каб зрабіць бокс цішэйшым.

Ператварыце ваты ў год, які можна параўнаць

Пастаяннае спажыванне пераўтвараецца ў энергію адным множаннем, і калі зрабіць гэта аднойчы, гадавыя выдаткі не стануць нечаканасцю. Ілюстрацыйнае сярэдняе ў 11 Вт за поўны год разлічваецца так.

awk 'BEGIN{printf "%.1f kWh/year at 11 W\n", 11*24*365/1000}'

Гэтая лічба — арыфметыка, а не вымярэнне вашага бокса, і тарыф, на які вы яе множыце, зрушвае адказ мацней, чым пара ват. Карысць разліку ў тым, каб параўнаць два праекты: шлюз з прастоем у 6 Вт супраць такога, што спажывае 15 Вт, — гэта рашэнне, якое можна ацаніць у грошах. Намінальная магутнасць працэсара — не гэтая лічба, бо яна апісвае пакет пад нагрузкай, а не сістэму ў спачыне. Выкарыстоўвайце сярэдняе з насценнага лічыльніка разам з мясцовым тарыфам і пазначайце вынік як ацэнку.

Вырашыце, ці дазволены сон

Сон зберагае найбольш энергіі і ламае найбольш здагадак. Які спіць хост не можа прыняць уваходнае злучэнне, якое б яго разбудзіла, і кліенцкі захавальнік злучэння гэтага не змяняе; толькі прылада, якая заўсёды ўключана ў той жа LAN, можа адаслаць пакет wake-on-LAN.

Калі тунель павінен быць даступны ў любую гадзіну, лічыце сон забароненым палітыкай і запішыце гэта ў нататкі да зборкі. Маскіраванне мэтаў — грубы сродак, але ён відавочны і лепш перажывае абнаўленні пакетаў, чым звычка.

systemctl status sleep.target suspend.target
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
systemd-inhibit --list

Wake-on-LAN заслугоўвае асобнага радка ў гэтых нататках, бо ён выходзіць з ладу ціха. Функцыю трэба ўключыць у прашыўцы, яна працуе толькі на некаторых інтэрфейсах і патрабуе прылады, якая ўжо прачнулася, каб адаслаць пакет. Праверце яе, перш чым спадзявацца на яе, а не пасля паездкі.

Дакажыце гэта пад той нагрузкай, якую ён сапраўды ўбачыць

Апошняя праверка — тая, якую людзі прапускаюць: запусціце меркаваную нагрузку і назірайце за бокам гадзіну. Адначасовая аддаленая перадача, рэзервовае капіраванне і перабудова індэкса пакажуць, ці могуць астуджэнне, канал і сховішча вытрымаць абранае спалучэнне роляў.

uptime
sensors | grep -E 'Core|Package|fan'
ss -s

Назірайце за каналам доступу ў тым жа акне, бо ўзыходная паласа звычайна абмяжоўвае аддаленую прапускную здольнасць значна раней, чым працэсар. Калі тунель насычаецца на долі таго, што працэсар мог бы шыфраваць, хутчэйшы чып не дае нічога.

Падобныя артыкулы