La RUE è in grado di monitorare le performance di applicativi e reti analizzando il traffico reale, ma sarebbe possiblile avere anche qualche informazione sullo stato dei pc o dei server?
Si` nella comunicazione TCP esistono degli eventi che ci informano dello stato di ‘sofferenza’ di un pc/server o dell’applicativo. Inoltre se il pc/server è monitorato da neteye siamo anche in grado di visualizzare il carico della macchina nel periodo relativo all’evento.
Spiegazione tecnica:
Zero window è un evento particolare della comunicazione TCP.
I pacchetti destinati ad un applicativo (p.e. firefox) vengono letti dalla scheda di rete dal sistema operativo e salvati in un buffer per poter essere riordinati e mantenuti fino a quando l’applicativo, una volta allertato, li legge e svuotando così il buffer.
In alcuni casi questo svuotamento non avviene (o avviene troppo lentamente) perchè non è in grado (applicativo bloccato) o non ha abbastanza tempo di cpu per farlo (pc sovraccarico).
In questi casi il buffer si riempie velocemente fino a saturare. Col buffer saturo non si è più in grado di ricevere ulteriori dati ed il protocollo tcp prevede che questa situazione venga notificata a chi invia in modo da sospendere temporaneamente la trasmissione.
È chiaro che queste situazioni hanno un effetto disastroso sull’esperienza dell’utente.
Le zero window ci danno l’informazione che un pc (o più raramente un server) è in difficoltà: o per un carico della macchina o per una situazione di stallo dell’ applicativo.
Nella Real User Experience questa informazione va ad aggiungersi ai KPI usati per l’analisi delle performance: network latency, application latency, load time.
Conclusione
Si possono spiegare situazioni in cui abbiamo delle request con load time alto ma application latency e network latency su valori normali. Se nella request il numero delle zero window è maggiore di zero abbiamo la spiegazione del load time alto e lo possiamo imputare ad un problema locale del computer.