NOTA SUL CAMPO · RESPONSIVENESS
Il tuo speed-test mente.
Misura la responsiveness invece.
Paghi per 500 Mbps e le tue chiamate continuano a saltare. Ecco perché il numero che ti mostra ogni sito di speed-test è il numero sbagliato, e cosa Apple ha messo dentro macOS per misurare quello giusto.
Il pannello Network Quality dentro Insights.
La bugia del numerone
Ogni sito di speed-test parte con un quadrante. Sale, si ferma su una cifra che fa effetto (480 in download, 510, 940 se hai la fibra) e quel numero diventa la storia. La storia è quasi sempre sbagliata. Non disonesta, esattamente. Solo la domanda sbagliata, a cui si risponde con precisione.
Il throughput è una misura di capacità: quanta acqua il tubo riesce a muovere quando non sta succedendo altro. Il problema è che le reti vere quasi mai assomigliano a "non sta succedendo altro". Le reti vere assomigliano a una videochiamata di famiglia, un backup in cloud, una sincronizzazione di Slack, un aggiornamento e un bambino che guarda i cartoni, tutti contemporaneamente. In quella scena non ti interessa il totale di litri al minuto. Ti interessa se il tuo pacchetto vocale può infilarsi nella coda e arrivare in tempo.
Quella seconda domanda è la responsiveness, e per vent'anni quasi non avevamo modo di misurarla in un browser. Ora ce l'abbiamo. È integrata in macOS. Solo che nessuno te l'aveva detto.
Cos'è il bufferbloat, in un paragrafo
Ogni router e modem tra il tuo portatile e Internet ha un buffer: un po' di memoria dove i pacchetti aspettano il loro turno. Quando il link davanti al buffer è più lento di quello dietro (il tuo uplink da 40 Mbps dietro una LAN gigabit, diciamo), il buffer comincia a riempirsi. I produttori hanno reso questi buffer assurdamente grandi, perché perdere pacchetti sembra un bug. Ma un buffer troppo grande tiene il tuo pacchetto vocale di Zoom dietro a ogni altro pacchetto arrivato un millisecondo prima. Il tubo sta muovendo un sacco di byte. I byte che contano stanno solo facendo la fila. Quel ritardo (misurato in centinaia di millisecondi sotto carico) è bufferbloat. È perché lo speed-test passa e la chiamata si sgretola.
Arriva RPM: Round-trips Per Minute
Nel 2021 il team networking di Apple ha proposto una metrica in lingua piana: RPM, ovvero Round-trips Per Minute. L'idea è quasi imbarazzante per quanto è semplice. Mentre il tubo è saturo (stai scaricando e caricando a tutta), conta quanti round-trip completi richiesta/risposta riesci a chiudere in un minuto. Una rete responsiva ne fa migliaia. Una rete bloated cala a poche centinaia. Stesso tubo da 500 Mbps in entrambi i casi.
Apple ha rilasciato uno strumento per questo in macOS Monterey. Si chiama networkQuality, vive in /usr/bin/networkQuality, e se apri un Terminale e lo lanci vedrai più o meno questo:
$ networkQuality
==== SUMMARY ====
Uplink capacity: 38.412 Mbps
Downlink capacity: 476.185 Mbps
Responsiveness: Medium (540 RPM)
Idle Latency: 18 ms
Leggi quell'output con attenzione. Il tubo è grosso, quasi mezzo gigabit in download. La responsiveness è medium. 540 round-trip al minuto sono circa nove al secondo: il tuo pacchetto vocale aspetta circa 111 ms su una rete carica, contro 18 ms a riposo. Quel divario è esattamente il motivo per cui la chiamata suona bene quando in casa non c'è nessuno e si rompe quando tutta la famiglia sta facendo streaming.
High, Medium, Low, cosa significano?
Apple raggruppa l'RPM in tre categorie leggibili:
- High, da 2.000 RPM in su. La rete è responsiva. Il lavoro in tempo reale (chiamate, gioco, editing collaborativo) sembra netto a prescindere da cosa sta girando.
- Medium, all'incirca 600–2.000 RPM. La rete è ancora usabile, ma le app interattive sembreranno fiacche sotto carico. È dove la maggior parte delle reti casalinghe sta nelle ore di punta, ed è da lì che arrivano le lamentele.
- Low, sotto 600 RPM. I buffer sono pieni. Le chiamate vocali cadono, il video si blocca, i tasti in SSH arrivano in lotti. Nessuna quantità extra di banda lo aggiusta finché i buffer non si svuotano.
Perché uno speed-test non lo vede
Uno speed-test misura solo la metà facile del problema: idle throughput, di solito in una breve raffica, di solito su una connessione che il tuo provider ha imparato a privilegiare. Ti dice cosa il tubo sa fare quando è poco carico, e non fa mai la domanda successiva sulla latenza sotto carico. Il bufferbloat è, per definizione, invisibile a quel test, perché il test è il carico, non c'è altro traffico in coda.
Il sintomo lato utente è familiare. Il tecnico del provider passa, lancia lo speed-test, passa, e ti dicono che la connessione va bene. La videochiamata successiva si interrompe lo stesso. Il tecnico non ha mentito. Ha semplicemente misurato la cosa sbagliata.
Il test RPM in pratica
Il networkQuality di Apple è elegantemente brutale. Apre più connessioni parallele verso endpoint CDN, le satura nei due sensi e poi cronometra quanto ci mette una piccola coppia richiesta/risposta HTTP/2 a chiudersi mentre la saturazione è in atto. Quello è il valore RPM. Le misure di capacità arrivano come bonus, ed è per questo che lo strumento restituisce tutti e tre i numeri in una sola corsa.
Il test dura una quindicina di secondi. Pesta forte sul tuo link, quindi non lanciarlo durante una chiamata. Mostra anche cose che il tuo provider preferirebbe non farti vedere: canali Wi-Fi che si scontrano con i vicini, un router con un bug del firmware che raddoppia la profondità della coda, una VPN che aggiunge 200 ms di latenza a ogni round-trip. Molto spesso scoprirai che l'anello debole non è il provider. È qualcosa dentro casa tua.
Cosa fare quando l'RPM è Low
Non c'è un proiettile d'argento, ma la lista è finita:
- Prima prova via cavo. Collega un cavo Ethernet al Mac e rilancia
networkQuality. Se l'RPM salta a High, il tuo problema è il Wi-Fi (congestione, sovrapposizione di canale o distanza), non il provider. - Attiva Smart Queue Management. I router che supportano SQM, CAKE o fq_codel appiattiscono il bufferbloat in modo drastico. Un router da 100 $ con fq_codel acceso batte un router da 600 $ senza.
- Limita l'upload. Se SQM non è disponibile, limita l'upload del Mac a circa il 90 % della capacità di uplink che hai misurato. Solo questo cambiamento impedisce ai tuoi upload di riempire il buffer e affamare i download di ACK.
- Sostituisci il combo modem-router del provider. Molte unità fornite dagli ISP sono configurate per i benchmark di throughput, non per la responsiveness. Mettere il dispositivo dell'ISP in modalità bridge e piazzare il tuo router davanti è il più grande miglioramento singolo di RPM che la maggior parte delle persone vede.
Tre miti duri a morire
«Più banda lo risolve.» A volte, per lo più no. Se il tuo uplink è già saturato da un singolo backup, passare da 40 a 100 Mbps in upload aiuta. Ma se il vero colpevole è il buffer, sbatterai contro lo stesso soffitto al doppio della velocità e i sintomi torneranno. La soluzione è svuotare la coda, non ingrossare il tubo davanti.
«Il mio ping è 12 ms, quindi sono a posto.» Il ping misura la latenza a riposo: quanto ci mette un pacchetto quando non c'è niente per strada. Il bufferbloat si vede solo sotto carico. Un ping a riposo di 12 ms su un link bloated di solito diventa un ping sotto carico di 350 ms. Lancia ping in un terminale e un upload grosso in un altro, e lo vedrai in tempo reale.
«Il provider ha già ottimizzato per questo.» Alcuni sì. Molti no. L'ingegneria non è difficile, ma l'incentivo commerciale punta nell'altro senso: una rete tarata per lo speed-test vince mercati che comprano sui numeri di throughput. La responsiveness quasi mai compare in una pagina di marketing.
Dove si inserisce WiFi & IP Info
Abbiamo messo il motore networkQuality a un clic dalla barra dei menu. Il pannello Network Quality del livello Pro esegue lo stesso test di Apple, mostra la capacità uplink/downlink, riporta il bucket RPM e l'RTT di base, e, in modo cruciale, tiene un log. Puoi cliccare "esegui di nuovo" una volta all'ora per una settimana e vedere il pattern: High al sabato mattina, Medium a cena, Low quando i bambini tornano da scuola. È quel grafico che fa fare qualcosa al provider, perché la riproducibilità è ciò che trasforma una lamentela in un ticket.
Abbinalo al grafico Storico latenza e al Registro connessioni dell'app e mandi al tuo provider un ticket di trenta secondi: "L'RPM scende da 2.400 a 410 tra le 18:00 e le 21:00 ora locale, correlato con un RTT mediano tre volte più alto verso il vostro stesso gateway. CSV in allegato." È una conversazione molto diversa da "Internet mi va lento."
La versione breve
Il tuo speed-test misura la capacità. La capacità è reale, e ogni tanto è proprio lei il problema. Per lo più, però, il problema è la responsiveness: se il tuo traffico riesce a entrare e uscire in fretta mentre il tubo è occupato. RPM è la metrica per quello. Apple ha costruito uno strumento di prima classe per misurarla. Noi abbiamo messo quello strumento nella tua barra dei menu, e teniamo lo storico.
Se da questa pagina dovessi portare via una sola frase, che sia questa: la banda è quanto è larga la strada; la responsiveness è quanto aspetti al semaforo. Contano entrambe. Solo una delle due è sulla pagina del tuo speed-test.