24. 02. 2016 Luca Di Stefano NetEye, Real User Experience Monitoring

Individuare macchine sovraccariche con NetEye RUE

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.

Zero Window NetEye

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.

Zero Window RUE

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.

Luca Di Stefano

Luca Di Stefano

Solution Architect at Würth Phoenix
Hi everyone, I’m Luca, graduated in electrical engineering from the University of Bologna. I am employed by Würth Phoenix since its foundation. I worked mainly as enterprise architect and quality assurance engineer. Previously I was involved in systems measurement and embedded systems programming. I have gained experience on Unix (Solaris, HPUX), Windows, and C, C + +, Java. I personally contribute to the Open Source community as beta tester and developer. During my spare time I love piloting airplanes fly over the beautiful Alps. I practice many sports: tennis, broomball, skiing, alpine skiing, volleyball, soccer, mountain biking, middle distance, none have a sample but the competition excites me! I love hiking, tracking and traveling.

Author

Luca Di Stefano

Hi everyone, I’m Luca, graduated in electrical engineering from the University of Bologna. I am employed by Würth Phoenix since its foundation. I worked mainly as enterprise architect and quality assurance engineer. Previously I was involved in systems measurement and embedded systems programming. I have gained experience on Unix (Solaris, HPUX), Windows, and C, C + +, Java. I personally contribute to the Open Source community as beta tester and developer. During my spare time I love piloting airplanes fly over the beautiful Alps. I practice many sports: tennis, broomball, skiing, alpine skiing, volleyball, soccer, mountain biking, middle distance, none have a sample but the competition excites me! I love hiking, tracking and traveling.

Leave a Reply

Your email address will not be published. Required fields are marked *

Archive