24. 02. 2016 Luca Di Stefano Uncategorized

Erkennen von überlasteten PCs mit NetEye RUE

Durch die Analyse des realen Traffics, ermöglicht NetEye RUE ein gezieltes Application- und Netzwerk Performance Monitoring. Aber ist es auch möglich Informationen zum Status der PCs und Server abzulesen?

Die Antwort lautet „Ja“. In TCP-Kommunikationen existieren Events (Zero Window), welche uns einerseits über den Belastungsstatus der Anwendungen, andererseits aber auch über jenen der PCs und Server informieren können. Diese Events nennen sich Zero Window. Werden die PCs/Server mit NetEye überwacht, sind wir außerdem in der Lage den Belastungsstatus der Maschine zum Zeitpunkt des Events darzustellen.

Zero Window NetEye

Zero Window – Technische Erklärung:

Zero Window ist ein spezielles Event der TCP-Kommunikation, das entsteht wenn der Paket-Buffer vollläuft.

Alle Pakete die an eine beliebige Anwendung adressiert sind (z.B. Firefox) werden vorerst von der Netzwerkkarte des Betriebssystems gelesen und in einem Buffer zwischengespeichert, um dort neu geordnet und vorgehalten zu werden, bis die Anwendung die Pakete liest und sie dadurch aus dem Buffer löscht. Leider erfolgt diese Buffer-Leerung in manchen Fällen nicht korrekt oder zu langsam. Dies kann z.B. vorkommen, wenn die Anwendung blockiert ist oder nicht genügend CPU zur Verfügung steht (überlasteter PC).

In diesen Fällen läuft der Buffer schnell voll. Mit einem überfüllten Buffer können keine Daten mehr empfangen werden und das TCP-Protokoll verschickt eine entsprechende Benachrichtigung an den Absender um die Übertragung zeitweise auszusetzen. Es liegt auf der Hand, dass solch eine Situation verheerende Auswirkungen auf das Benutzererlebnis hat.

Das Zero Window gibt uns also Informationen darüber ob ein PC (oder seltener, ein Server) aufgrund von Überlastung oder eines Stillstands der Anwendung, in Schwierigkeiten steckt.

In NetEye RUE fügen wir diese Informationen zu den KPI zur Performanceanalyse (Netzwerklatenz, Anwendungslatenz, Ladezeit) hinzu.

Zero Window RUE

Fazit

Durch die Information eines vorliegenden Zero Window können beispielsweise Situationen erklärt werden, in welchen Anfragen eine hohe Ladezeit vorweisen, die Werte von Anwendungs- und Netzwerklatenz aber unauffällig sind. Weist eine Anfrage einen Zero Window-Wert höheren als 0 auf, haben wir eine einfache Erklärung der hohen Ladezeit und können das Problem dem lokalen PC zuweisen und dort beheben.

 

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