Velocità dei Dati e Download di file da Server a Client

Premessa

Gli argomenti qui sviluppati non sono approfonditi come dovrebbero. Risulterebbe un trattato di qualche centinaio di pagine. Tuttavia, sono abbastanza puntuali e danno il senso di ciò che accade.

Alla fine dell’articolo inseriamo alcune definizioni utilizzate con lo scopo di chiarirle ai lettori che hanno meno familiarità con i termini tecnici.

Come si valuta la velocità di una connessione?

La velocità di trasmissione dei dati in una linea dipende dai seguenti fattori:

  • ampiezza della banda (Bandwidth)
  • numero di bit per secondo (Bitrate)
  • uso delle risorse hardware
  • provider della rete

La velocità del segnale è determinata dalla materia del mezzo fisico in cui viaggiano i dati.

Se i dati sono trasmessi attraverso fibra ottica, la velocità è prossima a quella della luce. Diversamente, dipenderà dalla velocità di trasmissione della linea elettrica tradizionale, o comunque non in fibra ottica.

La velocità della luce è pari a circa 300 mila km al secondo nel vuoto. Nella fibra ottica la luce viaggia ad una velocità di circa il 31% più lenta.

Nel marzo del 2013 fu pubblicata una ricerca da parte di un gruppo di scienziati dell’Università di Southampton, sud dell’Inghilterra, i quali avevano trovato un modo per costruire cavi che consentivano ai dati di viaggiare al 99,7% della velocità della luce. La ricerca fu pubblicata su Nature Photonics

Questo metodo, tuttavia, non può essere utilizzato per le connessioni Internet poiché sono soggette a perdite di dati, malgrado ciò, in questi anni è stato impiegato per migliorare la progettazione dei supercomputer.

La perdita di segnale lungo una certa distanza si misura in dB/km (decibel al kilometro). La perdita di segnale nei cavi in fibra ottica è di circa 3,5 dB/km, la quale è pure abbastanza bassa ma non tanto da garantire perdite che diventano grandi sulle lunghe distanze, come quelle delle reti internet appunto.

Il problema emerge perché i cavi in fibra ottica sono realizzati in vetro di silice, che provoca rifrazioni che ritardano il segnale.

La soluzione degli scienziati inglesi è stata quella di utilizzare l’aria. Ovvero, cavi vuoti con pareti costruite in modo tale da evitare la rifrazione; il nome tecnico è “ultra-thin photonic-bandgap rim” (Banda fotonica a bordo ultrasottile). Il problema è che il segnale viaggia lungo il cavo incontrando una serie interminabile di curve. Non una cosa facilissima da risolvere.

In questi anni i cavi sono migliorati per cercare di adattarli alle comunicazioni a lunga distanza.

Nel maggio del 2020, ricercatori della Monash University in Australia, hanno registrato una velocità dati di 44,2 Terabit al secondo (Tbps) da una singola fonte di luce. Tanto per dare un’idea, questa velocità è tale da scaricare 1.000 film in HD in una frazione di secondo, mai nessuno aveva raggiunto una tale velocità in una connessione dati. L’esperimento è stato realizzato usando un chip ottico. La ricerca è stata pubblicata su Nature.

Quindi da ora avremo questa tecnologia disponibile?

No! Sono studi che potranno aiutare ad aumentare la capacità delle connessioni di rete in tutto il mondo. Non esiste niente di disponibile al momento.

Lentezza dei dati in fase di scaricamento

Quali sono le possibili ragioni per cui un output di tipo csv o pdf, ad esempio, risulta impiegare molto tempo per essere scaricato in rete tra il server e il computer client?

Le cause del problema

Sono vari i fattori che influenzano la velocità di download di un file; non solo la velocità ma anche il successo. Sì, perché se il tempo è molto lungo, il file non viene nemmeno scaricato.

Primo problema

Anzitutto bisogna tenere presente che tutti i componenti della rete costituiscono il percorso tra il server e il client. Ciò significa che il collegamento più lento della catena sarà la velocità massima della rete. Ad esempio, se è presente una connessione LAN a 100 Mb/s tra il PC client e l’hub di rete, è molto probabile che l’hub sia connesso a un altro hub o switch e segua un percorso di connessione fino al server.

Se ad esempio un hub da 100 Mb/s ha 8 porte, il traffico da 100 Mb/s viene condiviso equamente su tutte le 8 porte, il che in effetti fornisce solo 12 Mb/s per connessione. Ciò consentirà un massimo di 1,5 Mb/s di download tra due PC collegati sullo stesso hub. Se si fanno un po’ di conti si scopre che una tale connessione darebbe modo di scaricare un file di circa 150 Mb in nemmeno 2 minuti. In pratica, però, agiscono anche altri fattori che possono aumentare questo tempo.

Se il server si trova in un’area diversa e una connessione WAN tra le due aree in questione è di 8 Mb/s, questa larghezza di banda sarà condivisa tra tutti i client di entrambe le aree. Pertanto, per testare questo scenario, è necessario scaricare un file di prova dal server remoto e confrontare le diverse velocità di download.

L’uso di Switch, o Hub intelligenti, può aiutare a migliorare le prestazioni, poiché tali dispositivi di rete possono diffondere il traffico dati ai client che ne hanno più bisogno. Rispetto a un Hub, lo Switch può assegnare fino al 50% della velocità massima totale a una singola porta, dove un Hub fornirà una frazione esatta ed uguale in base al numero di porte disponibili. Si tratta di circa il 12,5% della larghezza di banda totale su un hub a 8 porte. Classico caso in cui la matematica non è opinabile (100 / 8 = 12,5).

Secondo problema

Se la velocità della rete non è il problema, il secondo problema più grande nella velocità di download può essere dato dal software antivirus. Lo scanner antivirus sul server e sul client potrebbe essere in esecuzione in modalità “in accesso”. Ciò farà sì che il software antivirus esegua la scansione di qualsiasi file una volta effettuato l’accesso. Questo fenomeno aumenta l’attività del disco rigido e rallenta il processo di download. Abbiamo quindi un incremento delle risorse hardware utilizzate, non è cosa da poco.

Questo comportamento può essere verificato disabilitando il software antivirus sul server e sul client. Chiaramente si va incontro ad un rischio poiché si riduce la protezione contro le minacce da virus; per cui, meglio riabilitare prontamente l’antivirus dopo il test.

Terzo problema

Questioni di firewall.

Il Server IIS potrebbe avere un proxy o un firewall abilitato che intercetta tutte le comunicazioni tra il server e il client. Se una delle funzioni in uso è urlscan — vale a dire che viene effettuata una scansione di tutte le url incontrate — il tempo di elaborazione del download può rallentare, anche di molto, aumentando il carico della CPU sul server. Anche qui si può fare un test simile a quello di cui sopra nel caso dell’antivirus. Si confrontano dunque le velocità di download da una condivisione di file sul server, rispetto alla velocità quando si utilizza un collegamento ipertestuale per scaricare un file tramite il server IIS.

Per chiarire di cosa parliamo a proposito di IIS, diamo subito la definizione.

IIS (Internet Information Services) è un software estensibile per server Web flessibile e generico. È stato creato da Microsoft e viene eseguito su sistemi Windows per servire pagine o file HTML richiesti dall’applicazione. Pertanto, un server Web IIS accetta richieste da computer client remoti e restituisce la risposta appropriata.

Quarto problema

SSL, crittografia.

Le connessioni via web devono essere crittografate per essere sicure e quindi evitare che siano intercettate. La crittografia influisce sulla comunicazione server e client anche e soprattutto nella fase di download. La crittografia può essere non solo quella data dai certificati SSL ma anche quella della connessione VPN, se esiste o se si fa ricorso a una VPN. In tal caso bisogna capire come è protetta la connessione tra server e client.

Quinto problema

L’accesso al database del software dal quale si vogliono scaricare i dati influisce sulla velocità di download. Se ad esempio devo estrarre un report da un database, bisogna considerare che la velocità di connessione non sia ostacolata tra il gateway e il database.

Sesto problema

Il tipo di hardware usato, sia del server che del client, influenzano la velocità di trasferimento. Se i dischi rigidi nel client o nel server sono sottoposti a un carico elevato, o sono lenti, si verificherà un ennesimo collo di bottiglia per il download.

Eseguire dei test puntuali ed esaurienti in questi casi è d’obbligo. I test devono essere sempre eseguiti dagli utenti del software che poi riportano ai sistemisti e amministratori del sistema, i quali, con dati oggettivi ricavati dalle verifiche, possono capire dove agire per migliorare l’efficienza.

Latenza

Qui non ho fatto menzione della latenza, che è un altro dei problemi che causano ritardo nella risposta tra server e client.

La latenza è definita come la capacità di caricare e aggiornare i dati quasi in tempo reale supportando contemporaneamente i carichi di lavoro delle query. Le query sono selezioni di comandi che organizzano i dati in un certo modo e compiono operazioni (ordinamenti, calcoli, etc.).

Da ciò si comprende facilmente che la latenza è il tempo necessario affinché i dati diventino disponibili nel database o nel data warehouse dopo il verificarsi di un evento.

La latenza è influenzata dai seguenti fattori

  1. Distanza. Più è grande la distanza tra server e client, maggiore sarà il ritardo, ovvero la latenza. Ovviamente, la grandezza dei dati gioca un ruolo importante; più dati sono da elaborare e scaricare, più tempo sarà impiegato. Chiaramente dipenderà anche dal tipo di hardware della rete (computer, cavi, switch, etc.).
  2. Le pagine Web che hanno contenuti pesanti, immagini di grandi dimensioni o caricano contenuti da diversi siti Web di terze parti, potrebbero funzionare più lentamente, poiché i browser devono scaricare file più grandi per visualizzarli.
  3. Può dipendere anche dal tipo di hardware dell’utente finale. Se questo ha poca memoria o le risorse della CPU non sono sufficienti, la latenza aumenta.
  4. La larghezza di banda, ovvero l’ampiezza della linea. Più ampia è la banda di comunicazione, più dati possono fluire attraverso di essa contemporaneamente.

In conclusione, la latenza è la velocità con cui i pacchetti di dati viaggiano all’interno della linea dal client al server e viceversa. La latenza dei pacchetti dipende dalla distanza fisica che i dati devono percorrere attraverso cavi, reti e hardware per raggiungere la destinazione.

Esistono degli strumenti per monitorare le reti, alcuni di questi sono:

OpManager

Data Dog HQ

Atera

Logic Monitor

E tanti altri

Definizioni

Bandwidth

La larghezza di banda è la velocità massima di trasferimento dei dati su un determinato percorso. La larghezza di banda può essere caratterizzata come larghezza di banda di rete, larghezza di banda dati o larghezza di banda digitale. La larghezza di banda consumata in bit/s corrisponde al throughput o goodput raggiunto, cioè la velocità media di trasferimento di dati riuscito attraverso un percorso di comunicazione.

Throughput

Il volume di dati che possono essere trasferiti in un periodo di tempo specificato è tecnicamente chiamato throughput.

Goodput

Nelle reti di computer, goodput (una parola composta dai termini “good” e “throughput”) è il throughput a livello di applicazione di una comunicazione; cioè il numero di bit di informazioni utili consegnati dalla rete a una determinata destinazione per unità di tempo.

Bitrate

Nelle telecomunicazioni e nell’informatica, il bit rate è il numero di bit trasmessi o elaborati per unità di tempo. Si misura in bit/s (bit al secondo).

WAN

Wide Area Network. Si tratta di una rete di telecomunicazioni che si estende su una vasta area geografica e mette in connesione tra loro una rete di computer.

Gateway

Nell’era di internet e delle reti, i nostri computer, come anche i nostri dispositivi mobili, si trovano tra diverse reti o applicazioni. Un gateway è un dispositivo che converte informazioni, dati o altre comunicazioni da un protocollo o formato a un altro. Un router può svolgere alcune delle funzioni di un gateway. Un gateway Internet può trasferire comunicazioni tra una rete aziendale e Internet.

Data Warehouse

Nei software di intelligenza artificiale si parla di data warehouse, più che di database, essendo questi veri e propri depositi centrali di dati integrati che provengono da più fonti.

Previous Post Next Post