La VPN consuma la batteria? Quello che la radio faceva già
La crittografia è una parte piccola del conto. Separa il trasferimento, i risvegli della radio e le riconnessioni, poi confronta due esecuzioni che differiscono in una sola cosa.
Una lamentela sui consumi di solito arriva come «la VPN mi mangia la batteria», che è una conclusione e non un’osservazione. Ciò che la misurazione mostra è che una miscela di trasferimenti, risvegli della radio e riconnessioni ha tenuto occupato il dispositivo. La crittografia contribuisce a quel conto, e su un telefono moderno raramente è la voce più grande. Separa le tre cose e la lamentela diventa qualcosa che puoi davvero provare.
Che cosa aggiunge un tunnel al viaggio di un pacchetto
Ogni pacchetto che il tunnel trasporta viene autenticato, cifrato, avvolto in un’altra intestazione e scartato all’altro capo. Quel lavoro costa cicli di processore e, cosa più importante, tiene l’interfaccia di rete occupata più a lungo di quanto farebbe il solo carico utile. Un backup che dura dieci minuti attraverso un tunnel resta un backup di dieci minuti, con un po’ più di sovraccarico per pacchetto. I byte e la durata vengono dall’applicazione, non dal tunnel.
Per questo una percentuale in un rapporto sulla batteria è una cattiva guida al sovraccarico. Il rapporto attribuisce il lavoro per componente, e le regole di attribuzione differiscono tra piattaforme.
Leggi il rapporto accanto a un contatore di rete e al tempo di schermo acceso. Quando la finestra di trasferimento coincide con quella di scarica, il carico di lavoro spiega il risultato e il protocollo passa in secondo piano. Quando la scarica continua mentre i contatori restano fermi, qualcosa tiene sveglia la radio, e la sezione successiva è il punto da guardare.
Keepalive, riconnessioni e lo stato sveglio della radio
Uno schermo che sembra inattivo non dimostra una rete inattiva. Sincronizzazione, messaggistica e controlli degli aggiornamenti inviano tutti piccole quantità di traffico, e ciascuno può tirare fuori la radio da uno stato di basso consumo molto più a lungo di quanto duri lo scambio stesso. Il traffico piccolo e frequente costa caro per byte perché il costo fisso domina.
Un tunnel aggiunge il proprio traffico ridotto sotto forma di keepalive, che servono a tenere aperta una mappatura NAT o ad accorgersi che un peer se n’è andato. Il loro scopo dipende dal protocollo e dalla rete, e disattivarli può ridurre l’attività ma lasciare il tunnel inutilizzabile dopo un periodo di inattività. Se provi un valore diverso, annota quello originale e conferma che il tunnel si riprende ancora dopo. Non importare mai un intervallo da un altro protocollo, perché una costante adatta a un progetto è arbitraria in un altro.
Il ricambio delle connessioni è il secondo costo. Un client che si riconnette ogni pochi minuti passa il tempo nelle strette di mano invece che nel carico utile, e la radio non ha mai la possibilità di assestarsi.
Quando la piattaforma ferma il tunnel per risparmiare energia
I sistemi operativi mobili limitano l’esecuzione in background, e un tunnel non è esente da questa politica. Una connessione che sparisce quando lo schermo si spegne è di solito un problema di integrazione con la piattaforma, non un server che rifiuta la sessione. Le indicazioni sulla batteria del client stesso sono il punto di partenza, perché descrivono il modo supportato di restare connessi durante il sonno.
Esenziare tutto dalla gestione dell’energia non è una soluzione. Crea un carico di lavoro diverso e distrugge il confronto che stavi cercando di fare.
Poi decidi cosa deve succedere quando il dispositivo dorme, perché il funzionamento sempre attivo, il comportamento di blocco senza tunnel e l’ottimizzazione della batteria rispondono a tre domande diverse. Un’impostazione che risparmia energia lasciando cadere in silenzio la copertura richiesta non ha conservato l’obiettivo originale: ha nascosto il guasto. Scrivi la politica prevista prima di regolare qualsiasi cosa. Senza questo, finisci per scegliere tra un tunnel che consuma e un tunnel semplicemente assente, e chiamare successo l’uno o l’altro risultato.
Prepara un confronto invece di una convinzione
Confronta il confrontabile: stesso compito, stessa rete, stessa durata, segnale simile. Annota i dati trasferiti, il numero di riconnessioni, la temperatura del dispositivo e le condizioni del segnale, perché ciascuno di questi può spostare il risultato da solo. Qualche punto percentuale di batteria in un’ora rientra nel rumore della maggior parte dei telefoni, mentre uno schema ripetibile su più esecuzioni no. Guida VPN di Android descrive il ciclo di vita e il comportamento sempre attivo che segue un client ben progettato, il che è un contesto utile quando uno non lo fa.
Sposta i trasferimenti grandi facoltativi in un momento in cui energia e rete sono entrambe a buon mercato.
Poi agisci secondo ciò che il confronto ha mostrato. Se lo spiega il carico di lavoro, pianifica il carico. Se lo spiega il ricambio, correggi la transizione di rete che lo causa. Se lo spiega la piattaforma, segui la politica della batteria supportata per quel client. Indebolire le impostazioni crittografiche è l’unico cambiamento che migliora il numero senza toccare la causa, ed è per questo che dovrebbe essere l’ultima cosa a cui chiunque ricorra.