Tailscale's New Performance Push: Multi-Queue, Netmap Caching, and Lower Overhead
La necessità di velocità di Tailscale
Tailscale è stato a lungo elogiato per la sua capacità di superare i NAT e connettere dispositivi attraverso reti ostili. Ma l'azienda sa che la connettività è solo metà della battaglia. Il piano dati—l'inoltro effettivo dei pacchetti—deve anche essere abbastanza veloce per carichi di lavoro moderni come CI/CD, sviluppo remoto e AI periferica. Ecco perché il team è stato impegnato in una ricerca pluriennale per spremere ogni bit di prestazione dalla sua mesh basata su WireGuard.
L'ultimo ciclo di miglioramenti, dettagliato in un post del blog di settembre 2026, prende di mira diversi colli di bottiglia: sovraccarico di memoria per i pacchetti piccoli, elaborazione a thread singolo sui nodi ad alto traffico e avvio lento quando il piano di controllo è irraggiungibile. Queste modifiche promettono un miglioramento tangibile per gli utenti che eseguono router di sottorete, connettori di app e nodi di uscita, oltre a chiunque si connetta da reti instabili.
Il problema del buffer da 64 KiB
La maggior parte dei pacchetti di rete sono piccoli—circa 1 KiB. Ma l'implementazione WireGuard di Tailscale, wireguard-go, alloca un singolo buffer da 64 KiB per ogni pacchetto in arrivo. Ciò significa che un pacchetto da 1 KiB viene copiato in un buffer da 64 KiB, sprecando memoria e cicli CPU. È come spedire una singola scatola in un container da 40 piedi.
Su Linux e Android, Tailscale ora evita questa copia lasciando i pacchetti dove atterrano e tracciando i loro confini all'interno del buffer di lettura più grande. Questo semplice cambiamento produce un'accelerazione di circa il 5% in molte configurazioni. Inoltre, il team ha accorciato le code dei pacchetti, che si sono rivelate più profonde del necessario, riducendo ulteriormente la latenza e il sovraccarico di memoria.
Multi-coda: distribuire il carico
I router di sottorete, i connettori di app e i nodi di uscita spesso gestiscono centinaia di flussi concorrenti. Fino ad ora, elaboravano i pacchetti in un'unica pipeline ordinata, il che significa che tutti i flussi condividevano una corsia. Ciò è inefficiente sull'hardware multi-core moderno.
Il nuovo sistema multi-coda di Tailscale crea più corsie parallele, ciascuna che gestisce un flusso distinto di pacchetti. Questo distribuisce il lavoro tra i core CPU, aumentando la capacità aggregata e riducendo la latenza. "Questo si traduce in una latenza inferiore, essenzialmente un'elaborazione più rapida dei dati dal momento in cui li leggiamo dal cavo al momento in cui li inviamo al sistema operativo," ha detto Alex Valiushko, membro dello staff tecnico di Tailscale. Il beneficio è più pronunciato per i connettori di app e i nodi di uscita, che servono molte connessioni di breve durata.
writev: meno copie, throughput più elevato
Un'altra ottimizzazione specifica per Linux sfrutta la chiamata di sistema writev. Invece di combinare più pezzi di pacchetto in un unico buffer prima di inviarli al kernel, Tailscale ora può passare un vettore di segmenti di dati in un'unica operazione. Questo elimina le copie e riduce le chiamate di sistema, aumentando il throughput. La modifica è parzialmente implementata nel client della primavera 2026, con ulteriori guadagni previsti dopo la v1.104.
Caching di netmap: avvio istantaneo su reti scadenti
Quando un dispositivo si avvia, normalmente contatta il piano di controllo di Tailscale per recuperare una mappa di rete (netmap) dei suoi peer. Su una buona connessione, questo richiede circa 100 ms. Ma sul Wi-Fi di un aereo o su reti alberghiere, può richiedere secondi o fallire del tutto.
Il caching di netmap risolve questo problema memorizzando una copia del netmap su disco. All'avvio, il dispositivo può utilizzare questa mappa memorizzata nella cache per stabilire immediatamente connessioni peer dirette, anche prima di raggiungere il piano di controllo. Claus Lensbøl, membro dello staff tecnico, osserva: "Condizioni di rete scadenti—è davvero lo spazio in cui le persone possono ottenere molta utilità dal caching di netmap." Nei test, gli avvii con cache calda erano da uno a due ordini di grandezza più veloci degli avvii a freddo.
La funzionalità richiede che il dispositivo si sia connesso almeno una volta e disponga di memoria persistente. Attualmente è dietro un flag di funzionalità, ma sarà abilitata per impostazione predefinita nella v1.104. I client mobili la riceveranno in seguito.
Cronologia di rilascio e disponibilità
- Riduzione della memoria (Linux/Android): v1.104
- Multi-coda per router di sottorete/connettori di app: dopo v1.104
- Throughput writev: parzialmente nella primavera 2026, più dopo v1.104
- Caching di netmap: flag di funzionalità ora, predefinito nella v1.104; mobile in seguito
Il dibattito su WireGuard nel kernel
Alcuni utenti chiedono perché Tailscale non usi semplicemente WireGuard nel kernel. Il fondatore Avery Pennarun ha risposto su Hacker News: "Le nostre ottimizzazioni hanno reso wireguard-go più veloce di WireGuard nel kernel perché era meglio ottimizzato. Hanno adottato alcuni di quei miglioramenti e ora siamo insieme al prossimo ordine di grandezza." Ha anche notato che la crittografia di WireGuard non è accelerata dall'hardware e, per larghezza di banda ultra-elevata, DPDK in spazio utente è la risposta a lungo termine.
Lacune negli strumenti di performance
Tailscale riconosce che diagnosticare le prestazioni di rete è ancora difficile. Gli strumenti esistenti mancano di consapevolezza di Tailscale—non possono dire se una connessione è diretta o tramite DERP, o come i percorsi cambiano nel tempo. L'azienda sta esplorando un toolkit di monitoraggio nativo di Tailscale e ha aperto un Typeform per il contributo della comunità.
Perché è importante
Questi miglioramenti rendono Tailscale più adatto per carichi di lavoro sensibili alle prestazioni come pipeline CI/CD, telemetria e robotica periferica. Le ottimizzazioni multi-coda e di memoria significano che l'hardware esistente può gestire più traffico, mentre il caching di netmap garantisce che i dispositivi si connettano più velocemente anche in condizioni avverse. Mentre Tailscale continua a spingere le prestazioni, consolida la sua posizione come seria alternativa alle VPN tradizionali e persino a WireGuard nel kernel.
Related News

Ollaya: Esegui Modelli Decisionali in Stile Jev Localmente a Velocità Millisecondali

Come gli agenti OpenAI hanno hackerato Hugging Face: nuovi dettagli rivelati

Claude Opus 5.5 Trasforma il Codice in Video Esplicativi di Qualità da Studio

DHH dichiara 'Matite giù' per il codice scritto a mano nel keynote di Rails World 2026

Perché i leader intelligenti saltano i dettagli e chiedono il cambiamento

