10
THE LIVORNOGATE TEARDOWN Risolvere un problema di latenza tra BBox e IM

Livornogate

Embed Size (px)

Citation preview

Page 1: Livornogate

THE LIVORNOGATE TEARDOWN

Risolvere un problema di latenza tra BBox e IM

Page 2: Livornogate

PROBLEMA

• Nell’installazione nella raffineria di Livorno Palladio Web (interfaccia web di IM basata su BBox) è inutilizzabile per la lentezza.

• Molti secondi per aprire un solo nodo dell’albero.

Page 3: Livornogate

SCENARIO LIVORNO

Server IM ENSV1ILC

Server BBox ENSV1JXA

Stessa sottorete

Ping < 1ms

Page 4: Livornogate

1: UNIONE DI INVOCAZIONI• Molte invocazioni REST da BBox a IM sono state

accorpate.0.19.7 0.20.2

Invocazioni 705 10

Tempo  totale 12700  ms 178  ms

• Si passa da “inutilizzabile” a “fastidiosamente lento”.

Page 5: Livornogate

2: RIMANE UNA STRANA LATENZA

BBox IM8: GET /

9: HTTP Headers + ACK di 8

10: ACK di 9

11: HTTP Json + ACK di 10

208 ms

41 ms

0.4 ms

Page 6: Livornogate

LATENZA SÌ - LATENZA NO

Installazione IM BBox Latenza?

Livorno Windows 2003

Windows 2008 SÌ

Sannazzaro Windows 2003 Ubuntu Linux NO

Distro Windows 7 Pro

OSX Mavericks NO

Page 7: Livornogate

NAGEL’S ALGORITHM

• Regola TCP in lato invio per inviare pacchetti più grossi.

• Invia solo quando l’applicazione inviante dà abbastanza dati (per un pacchetto intero), oppure

• quando il ricevente ha inviato tutti gli ACK.

Page 8: Livornogate

TCP DELAYED ACKNOWLEDGE

• Regola TCP in lato ricezione per inviare meno pacchetti inutili.

• Non inviare subito l’ACK di un pacchetto.

• Aspettare di avere dei dati di risposta dall’applicazione ricevente per unire dati e ACK, oppure

• aspettare un altro pacchetto e mandare l’ACK di ambedue.

• Se non succede niente, aspetta un certo timeout, poi invia l’ACK.

Windows

200 ms

Page 9: Livornogate

ANALISI DELLA LATENZABBox IM

8: GET /

9: HTTP Headers + ACK di 8

10: ACK di 9

11: HTTP Json + ACK di 10

Non invia 11 per via di Nagel (11 è

troppo piccolo e IM non riceve l’ACK di

9).

Non invia l’ACK di 9 per via del delay

(IM non invia nient’altro e BBox non ha niente da

dire).

Page 10: Livornogate

SOLUZIONE

• Cambiate le impostazioni nel registro di windows per disabilitare TCP Delayed Acknowledgment.

• Effetti collaterali: diminuzione della banda nel trasferimento di file.