La latenza è la misurazione del ritardo in un sistema. La latenza di rete è la quantità di tempo necessaria affinché i dati si spostino da un punto all'altro attraverso una rete. Una rete ad alta latenza avrà tempi di risposta più lenti, mentre una rete a bassa latenza avrà tempi di risposta più rapidi.
Sebbene in linea di principio i dati dovrebbero attraversare la rete Internet quasi alla velocità della luce, in pratica i pacchetti di dati si spostano su internet a una velocità leggermente inferiore a causa dei ritardi dovuti alla distanza, all'infrastruttura internet, alle dimensioni dei pacchetti di dati, alla congestione della rete e ad altre variabili.1 La somma di questi ritardi costituisce la latenza di una rete.
Le organizzazioni possono ridurre la latenza e migliorare la produttività e l'esperienza utente tramite:
Mantenere una rete a bassa latenza è importante perché la latenza influisce direttamente su produttività, collaborazione e prestazioni dell'applicazione, nonché sull'esperienza utente. Più la latenza è alta (e più sono lenti i tempi di risposta), più queste aree ne risentono. La bassa latenza è particolarmente importante in quanto le aziende perseguono la trasformazione digitale e fanno sempre più affidamento su applicazioni e servizi basati su cloud nell'ambito dell'Internet of Things.
Partiamo da un esempio ovvio. Se l'alta latenza della rete causa prestazioni dell'applicazione inadeguate o tempi di caricamento lenti per i clienti di un'organizzazione, è probabile che questi cerchino soluzioni alternative. Ora più che mai, sia gli utenti individuali che quelli aziendali si aspettano prestazioni fulminee. Se un'organizzazione usa applicazioni aziendali che si basano su dati in tempo reale estratti da diverse fonti per fornire raccomandazioni sulle risorse, un'alta latenza può creare inefficienze. Queste inefficienze possono avere un impatto negativo sulle prestazioni e sul valore delle applicazioni.
Tutte le aziende preferiscono una bassa latenza. Tuttavia, in settori e casi d'uso che dipendono dai dati dei sensori o dal calcolo ad alte prestazioni, come la produzione automatizzata, le operazioni da remoto con abilitazione per video (come le telecamere utilizzate in ambito chirurgico), lo streaming live o il trading ad alta frequenza, la bassa latenza è fondamentale per il successo dell'azienda.
Un'alta latenza può anche causare spese inutili. Supponiamo che un'organizzazione voglia migliorare le prestazioni delle applicazioni e della rete aumentando o riallocando la spesa per le risorse di calcolo, storage e rete. Se non riesce ad affrontare i problemi di latenza esistenti, l'organizzazione potrebbe ritrovarsi con una bolletta più alta senza alcun miglioramento in termini di prestazioni, produttività o soddisfazione del cliente
La latenza della rete viene misurata in millisecondi calcolando l'intervallo di tempo tra l'inizio di un'operazione di invio da un sistema sorgente e il completamento dell'operazione di ricezione corrispondente da parte del sistema di destinazione.2
Un modo semplice per misurare la latenza è eseguire un comando "ping", ossia uno strumento diagnostico di rete usato per testare la connessione tra due dispositivi o server. Durante questi test di velocità, la latenza viene spesso definita frequenza di ping.
In questo test, un pacchetto di richiesta echo ICMP (Internet Control Message Protocol) viene inviato a un server di destinazione e poi restituito. Un comando ping calcola il tempo necessario al pacchetto per spostarsi dall'origine alla destinazione e viceversa. Questo tempo di spostamento totale viene definito come il tempo di andata e ritorno (RTT), pari a circa il doppio della latenza, in quanto i dati devono viaggiare verso il server e viceversa. Il ping non è considerata una misurazione esatta della latenza né un test ideale per rilevare problemi di latenza della rete direzionale. Questa limitazione è dovuta al fatto che i dati possono viaggiare su percorsi di rete diversi e incontrare scenari diversi in ogni tratta dello spostamento.
Latenza, larghezza di banda e throughput sono tra loro correlati e talvolta scambiati per sinonimi, ma si riferiscono in realtà a funzioni di rete distinte. Come abbiamo notato, la latenza è la quantità di tempo necessaria affinché un pacchetto di dati si sposti tra due punti attraverso una connessione di rete.
La larghezza di banda è una misura del volume di dati che può passare attraverso una rete in un determinato momento. Viene misurata in unità di dati al secondo, come megabit al secondo (mbps) o gigabit al secondo (gbps). La larghezza di banda è solitamente impiegata dai fornitori di servizi quando scegli le opzioni di connessione per la casa ed è motivo di grande confusione, in quanto la larghezza di banda non è una misura della velocità ma della capacità. Sebbene un'elevata larghezza di banda possa facilitare un'elevata velocità di Internet, tale funzionalità dipende anche da fattori come la latenza e il throughput.
Il throughput è una misurazione della quantità media di dati che attraversa effettivamente una rete in uno specifico intervallo di tempo, tenendo conto dell'impatto della latenza. Riflette il numero di pacchetti di dati che arrivano con successo e la quantità di pacchetti di dati perduta. Di solito viene misurato in bit al secondo o, anche, in dati al secondo.
Un altro fattore che influisce sulle prestazioni della rete è il jitter. Il jitter si riferisce alla variazione della latenza dei flussi di pacchetti attraverso una rete. Una latenza costante è preferibile a un jitter alto, che può contribuire alla perdita di pacchetti, vale a dire pacchetti di dati perduti durante la trasmissione che non arrivano mai a destinazione.
Un modo semplificato ma utile per ricordare la relazione tra latenza, larghezza di banda e throughput è che la larghezza di banda è la quantità di dati che può viaggiare su una rete, il throughput è la misura di quanto viene effettivamente trasferito al secondo e la latenza è il tempo impiegato per questa operazione.
Visualizzare il percorso dei dati dal client al server e viceversa aiuta a conoscere la latenza e i vari fattori che vi contribuiscono. Cause comuni della latenza di rete sono:
In parole povere, maggiore è la distanza tra il client che avvia una richiesta e il server che risponde, maggiore è la latenza. La differenza tra un server a Chicago e un server a New York che risponde a una richiesta di un utente a Los Angeles può essere al massimo di una manciata di millisecondi. Ma in questo contesto è una differenza notevole e quei millisecondi si sommano.
Successivamente, considera il mezzo attraverso il quale viaggiano i tuoi dati. Si tratta di una rete di cavi in fibra ottica (generalmente a bassa latenza), di una rete wireless (generalmente ad alta latenza), oppure di un sistema complesso di reti con più mezzi, come spesso accade?
Il mezzo utilizzato per la trasmissione dei dati influisce sulla latenza. Così come il numero di volte in cui i dati devono passare attraverso dispositivi di rete come i router per spostarsi da un segmento di rete a quello successivo (salti di rete) prima di raggiungere la loro destinazione. Maggiore è il numero di salti, più alta è la latenza.
Sia la dimensione dei pacchetti di dati che il volume complessivo dei dati su una rete influiscono sulla latenza. I pacchetti più grandi richiedono più tempo per la trasmissione e se il volume di dati supera la capacità di calcolo dell'infrastruttura di rete, è probabile che si verifichino colli di bottiglia e una maggiore latenza.
Server, router, hub, switch e altro hardware di rete obsoleti o con risorse insufficienti possono causare tempi di risposta più lenti. Ad esempio, se i server ricevono più dati di quelli che sono in grado di gestire, i pacchetti subiranno ritardi, con conseguente rallentamento del caricamento delle pagine, della velocità di download e delle prestazioni dell'applicazione.
Asset delle pagine come immagini e video con file di grandi dimensioni, risorse che bloccano il rendering e caratteri non necessari nel codice sorgente possono tutti contribuire ad un'alta latenza.
A volte la latenza è causata da fattori lato utente, come larghezza di banda insufficiente, connessioni Internet scadenti o attrezzatura obsoleta.
Per ridurre la latenza di rete, un'organizzazione potrebbe iniziare con questa valutazione della rete:
-I dati si spostano lungo il percorso più breve ed efficiente?
-Le applicazioni dispongono delle risorse necessarie per ottenere prestazioni ottimali?
-L'infrastruttura di rete è aggiornata e adatta al lavoro?
Iniziamo con il problema della distanza. Dove si trovano gli utenti? E dove sono i server che rispondono alle loro richieste? Distribuendo i server e i database geograficamente più vicino agli utenti, l'organizzazione può ridurre la distanza fisica necessaria per i dati e ridurre il routing inefficiente e i salti di rete.
Un modo per distribuire i dati a livello globale è attraverso una Content Delivery Network o CDN. L'utilizzo di una rete di server distribuiti consente a un'organizzazione di memorizzare i contenuti più vicino agli utenti finali, riducendo la distanza che i pacchetti di dati devono percorrere. E se un'organizzazione volesse andare oltre la pubblicazione di contenuti memorizzati nella cache?
L'edge computing è una strategia utile che consente all'organizzazione di estendere il proprio ambiente cloud dal data center principale a luoghi fisici più vicini ai propri utenti e dati. Attraverso l'edge computing, le organizzazioni possono eseguire l'applicazione più vicino agli utenti finali e ridurre quindi la latenza.
Una sottorete è essenzialmente una rete più piccola all'interno della rete. La sottorete raggruppa end point che comunicano frequentemente tra loro, il che può ridurre un routing inefficiente e la latenza.
Gli strumenti di monitoraggio tradizionali non sono sufficientemente rapidi o approfonditi per individuare e contestualizzare in modo proattivo i problemi di prestazioni negli ambienti complessi di oggi. Per stare al passo con i problemi, le organizzazioni possono utilizzare soluzioni avanzate che forniscono observability end-to-end e in tempo reale e mappatura delle dipendenze. Queste funzionalità consentono ai team di individuare, contestualizzare, risolvere e prevenire problemi di prestazioni delle applicazioni che contribuiscono alla latenza di rete.
Se i workload non dispongono delle risorse di elaborazione, storage e rete adeguate, la latenza aumenta e le prestazioni ne risentono. Tentare di risolvere questo problema attraverso un provisioning eccessivo è inefficiente e dispendioso, e cercare di abbinare manualmente la domanda dinamica con le risorse in infrastrutture moderne e complesse è un compito impossibile.
Una soluzione di application resource management (ARM) che analizza continuamente l'utilizzo delle risorse e le prestazioni dei componenti delle applicazioni e dell'infrastruttura in tempo reale può aiutare a risolvere i problemi di risorse e ridurre la latenza.
Ad esempio, se una piattaforma ARM rileva un'applicazione con alta latenza a causa di un conflitto di risorse su un server, può allocare automaticamente le risorse necessarie all'applicazione o spostarla su un server meno congestionato. Queste azioni automatizzate contribuiscono a ridurre la latenza e a migliorare le prestazioni.
Test come il comando ping possono fornire una semplice misurazione della latenza di rete ma non sono sufficienti per individuare i problemi, tanto meno risolverli. Le organizzazioni possono utilizzare una soluzione di gestione delle prestazioni che fornisce una piattaforma unificata per aiutare i team a individuare, risolvere e prevenire i problemi di prestazioni e ridurre la latenza.
I team IT possono assicurarsi di utilizzare configurazioni hardware, software e di rete aggiornate e che l'infrastruttura dell'organizzazione sia in grado di gestire le richieste attuali. L'esecuzione di controlli e manutenzione regolari della rete può anche aiutare a ridurre i problemi di prestazioni e la latenza.
Gli sviluppatori possono adottare misure per garantire che la creazione della pagina non aumenti la latenza, come l'ottimizzazione di video, immagini e altre risorse della pagina per un caricamento più rapido e attraverso la minimizzazione del codice.
IBM Cloud Pak for Network Automation è un Cloud Pak che supporta l'automazione e l'orchestrazione delle operazioni dell'infrastruttura di rete.
Le soluzioni di cloud networking di IBM offrono una connettività ad alte prestazioni per potenziare le tue app e il tuo business.
Consolida il supporto dei data center con gli IBM Technology Lifecycle Services per il cloud networking e molto altro.
1"Internet at the Speed of Light", Yale.edu, 3 maggio 2022.
2"Effect of the network on performance", IBM.com, 3 marzo 2021.