Il libro "High Performance Browser Networking" di Ilya Grigorik risponde esattamente a questo. C'è un intero capitolo (7 °) dedicato alle reti mobili. Il libro afferma che il problema delle alte prestazioni è quasi sempre legato alla latenza, di solito abbiamo molta larghezza di banda ma i protocolli si intromettono. Che si tratti di TCP slow start , Radio Resource Controller (RRC) o configurazioni non ottimali. Se si verifica una scarsa latenza solo nelle reti mobili, è il modo in cui sono progettati.
Nel libro c'è una tabella sulle latenze tipiche:
Tabella 7-2 Velocità dati e latenza per una connessione mobile attiva
Generazione | Velocità dati | Latenza
2G | 100–400 Kbit / s | 300–1000 ms
3G | 0,5–5 Mbit / s | 100–500 ms
4G | 1–50 Mbit / s | <100 ms
Sebbene molto rilevanti per la latenza, la stretta di mano a tre vie caratteristica TCP o l'avvio lento non rispondono realmente alla domanda, poiché influenzano ugualmente le connessioni cablate. Ciò che influisce davvero sulla latenza nelle reti mobili è il livello in IP. Se il livello in IP ha una latenza di mezzo secondo, una connessione TCP a un server impiegherà ~ 1,5 sec (0,5 s * 3), poiché i numeri si sommano abbastanza rapidamente. Come detto prima, supponiamo che il cellulare non sia inattivo. Se il portatile è inattivo, deve prima "connettersi" alla rete, ciò richiede di negoziare una riserva di risorse con la torre (semplificata) e che impiega tra 50-100ms in LTE, fino a diversi secondi in 3G e altro nelle reti precedenti.
Figura 7-12. Latenze del flusso di richieste LTE
- Latenza del piano di controllo : costi di latenza fissi e una tantum sostenuti per la negoziazione RRC e le transizioni di stato: <100 ms da inattivo a attivo e <50 ms da inattivo a attivo.
- Latenza del piano utente : costo fisso per ogni pacchetto di applicazione trasferito tra il dispositivo e la torre radio: <5 ms.
- Latenza della rete centrale: costo dipendente dal vettore per il trasporto del pacchetto dalla torre radio al gateway pacchetto: in pratica, 30–100 ms.
- Latenza di routing Internet: costo di latenza variabile tra il gateway di pacchetti del corriere e l'indirizzo di destinazione su Internet pubblico.
In pratica, la latenza end-to-end di molte reti 4G distribuite tende a essere nell'intervallo 30–100 ms una volta che il dispositivo si trova in uno stato connesso.
Quindi, hai una richiesta (Figura 8-2. Componenti di una "semplice" richiesta HTTP):
- Negoziazione RRC 50-2500 ms
- Ricerca DNS 1 RTT
- Handshake TCP 1 RTT (connessione preesistente) o 3 RTT (nuova connessione)
- Stretta di mano TLS 1-2 RTT
- RTT richiesta 1-n HTTP
E con dati reali:
Tabella 8-1 Sovraccarico di latenza di una singola richiesta HTTP
| 3G | 4G
Piano di controllo | 200–2.500 ms | 50–100 ms
Ricerca DNS | 200 ms | 100 ms
Stretta di mano TCP | 200 ms | 100 ms
Stretta di mano TLS | 200–400 ms | 100-200 ms
Richiesta HTTP | 200 ms | 100 ms
Spese generali di latenza | 200–3500 ms | 100–600 ms
Inoltre, se si dispone di un'applicazione interattiva che si desidera eseguire in modo moderatamente corretto in una rete mobile, è possibile provare a disabilitare l'algoritmo Nagle (il kernel attende la coalescenza dei dati in pacchetti più grandi invece di inviare più pacchetti più piccoli) cercare modi per testarlo in https://stackoverflow.com/a/17843292/869019 .
C'è la possibilità di leggere l'intero libro gratuitamente da tutti su https://hpbn.co/ sponsorizzato da Velocity Conference. Questo è un libro altamente raccomandato, non solo alle persone che sviluppano siti Web, ma è utile a tutti coloro che servono byte su una rete a un client.