08. 06. 2015 Susanne Greiner Real User Experience Monitoring

Statistik und Machine Learning Methoden für RUE

Machine Learning and Advanced Statistics to Simplify the Analysis of Real User Experience Data

Im Cloud-Zeitalter ist die erfolgreiche Optimierung der real end-user experience (RUE) von zentraler Bedeutung. Einerseits erwarten End User, dass Programme unabhängig von Zeit, Ort und Gerät problemlos laufen. Aus diesem Grund basieren Applikations Performance Monitoring (APM) Ansätze meist auf RUE Performance-Metriken. Andererseits spielt Netzwerk Performance Monitoring (NPM) eine zunehmende Rolle, wenn es darum geht, zu verstehen wie ein Programm über das Netzwerk funktioniert, und welche potentiellen Auswirkungen Netzwerk- oder Serverprobleme auf die Applikations-Performance haben – man spricht von application-aware network performance monitoring (ANPM). Gemeinsame Ziele von APM und NPM sind durch RUE gemessene Performance-Metriken zu verwenden um die Benutzerzufriedenheit zu gewährleisten, indem Probleme noch in der Entstehungsphase gefunden und behoben werden.

Bei der Entwicklung von WÜRTHPHOENIX RUE Version 1.9  lag unser Fokus auf einzelnen Anfragen und der Vereinfachung des Suchprozesses. Eine detaillierte Sicht so vieler Key Performance Indikatoren (KPI) wie möglich ist ein wichtiger Schritt auf dem Weg in Richtung Lösung. Ein abstrakter, eher genereller Überblick über die Performance eines Netzwerks oder einer Applikation ist dahingegen in der ersten Phase der Problemanalyse von Vorteil, bevor aufgezeichnete Daten im Detail analysiert werden. Deswegen haben wir in den letzten Monate verschiedene Machine Learning und Statistik Methoden untersucht, die dabei helfen können, die Daten auf die gewünschte Abstraktionsebene zu bringen.

Wahrscheinlichkeitsdichte Funktionen

Die erste Neuerung richtet sich an all die Endnutzer, die WÜRTHPHOENIX RUE  für das Monitoring von Netzwerk- oder Applikationstraffic einsetzen, der keine klare Datenverteilung hat. Wir liefern eine Alternative zur derzeitigen Berechnung von (Critical) Warnings, die besonders effizient ist, wenn die Daten kein globales Maximum in der Nähe des Mittelwertes haben. Standardtraffic wird nicht länger als „Traffic, der in einem gewissen Bereich um den Mittelwert herum liegt“ definiert (subnet 1), sondern die bestehende Definition wird durch „Traffic, der sich im Bereich eines der prominentesten Maxima der Wahrscheinlichkeitsdichte Funktion befindet“ ersetzt. Speziell in Fällen, wo der Mittelwert in den Bereich zwischen zwei lokalen Maxima fällt (subnet 2), ist eine beträchtliche Verbesserung der Warnungsqualität zu erwarten. Diese Veränderung ist bidirektional, somit wird sowohl weniger Standardtraffic fälschlicherweise als „out of range“ detektiert als auch erreicht, dass die Warnungen realistischer ausfallen, sollten tatsächlich Werte außerhalb der Standardregionen aufgezeichnet werden.

Traffic, der in einem gewissen Bereich um den Mittelwert herum liegt

Unsupervised Learning

Außerdem haben wir mit unsupervised Learning Algorithmen experimentiert, die es ermöglichen den gesamten Netzwerktraffic in Bereiche mit dichtem und spärlichem Traffic zu unterteilen. Unsupervised Learning versucht in den Daten Muster zu erkennen, die vom strukturlosen Rauschen abweichen. Ein häufig gewählter Ansatz ist Cluster-Analyse, d.h. die Gruppierung der Daten auf eine Weise, dass Daten in der gleichen Gruppe sich ähnlicher sind, als Daten aus verschiedenen Gruppen. Bei dichtebasiertem Clustering bestehen diese Gruppen aus Gebieten höherer und niedrigerer Datendichte. Man kann annehmen, dass durch Standardtraffic verursachte Queries näher beieinander liegen als Queries, die während Problemen entstehen. Es wird sozusagen eine Zerlegung der Daten in wahrscheinlichen Standardtraffic und irregulären Traffic möglich.

Anstatt sich weiterhin auf eindimensionale Baselines festzulegen, ist es möglich multi-dimensionale Base Regions zu definieren. Eine detailierte Analyse des nicht als dicht erkannten Traffics kann die Problemanalyse enorm beschleunigen, da sich die Queries, die sich vom Standardtraffic abgehoben haben, in diesem Bereich befinden und es somit reicht, einen Bruchteil der Gesamtdaten näher zu untersuchen. Im folgenden Beispiel sind die Vorteile solcher Base Regions erleutert. Der Einfachheit halber werden nur zwei Dimensionen, Applikations Latency und Throughput, verwendet.

Bei Applikation 1 – auf der linken Seite – liegen beide Performance-Metriken in einem klar definierten Bereich. Warnungen, die auf dem Mittelwert basieren, sollten somit ausreichend sein. Das ist nicht der Fall für Applikation 2. Hier gibt es keine klaren, sich abhebenden Maxima für das Throughput und Bereiche, wo eine hohe Query-Dichte zu erwarten ist, lassen sich nicht ideal für jede einzelne Performancemetrik definieren. Es ist aber möglich via dichtebasierten unsupervised Learning Algorithmen im multi-dimensionalen Raum, der alle Performance-Metriken enthält, Bereiche mit hoher Query-Dichte zu definieren. Zum Beispiel ist für Applikation 2 der weiße Bereich im Zentrum von blauen Bereichen mit wahrscheinlich hoher Query-Dichte zu erkennen.

Definition multi-dimensionaler Base Regions

Performance Trends

Ein neues grafisches Tool befindet sich derzeit in der Entstehungsphase, das es uns erlaubt einen high-level Performance Trend (PT) darzustellen, der sowohl für APM als auch NPM eingesetzt werden kann. Der PT verwendet beide oben beschriebenen Konzepte um die Daten auf die gewünschte Abstraktionsebene zu bringen. Auf diese Weise erhält man eine bessere Kontrolle über die Performance und außerdem lassen sich gleichzeitig aus der Grafik nützliche Informationen ablesen um gezielte Drill Downs zu planen. Im Detail stellt ein Performance Trend die temporalen Änderungen der Wahrscheinlichkeitsdichte dar. Eine auf dichten Traffic beschränkte PT Grafik sollte ein realistisches Bild der aktuellen Performance liefern. Neben dem zeitlichen Perfomance Monitoring können zwei PT Grafiken auch gegenübergestellt werden, um die Performance verschiedener Netzwerke oder Applikationen im gleichen Zeitraum zu vergleichen.

Die Interpretation der PT Plots ist unkompliziert. Dunklere Farben (a) entsprechen einer geringeren Query-Häufigkeit, hellere Farben (b) stehen dahingegen für höhere Query-Häufigkeit. Weite Bereiche und vertikale Streifen kennzeichnen zeitlich konstanten Traffic (b). Kleinere, gleichfarbige Bereiche, sowie Punkte und Inseln entstehen, wenn der Traffic zum Unterbrechen neigt (c).

Abbildung von high-level Performance Trends

Verwendungsmöglichkeiten

Eine Möglichkeit, die neuen Features einzusetzen, ist im Folgenden dargelegt. Man stelle sich zum Beispiel vor, dass einige User eines Unternehmensnetzwerks sich an einem bestimmten Tag über die Performance eines bestimmten Programms beschweren.  Eine PT Grafik des von dieser einen Anwendung erzeugten Netzwerktraffics könnte unter anderem zeigen, dass global nur die Client Latency ein paarmal fern vom Standardtraffic liegt und sonst keine Anomalien sichtbar sind. Da der Großteil der Daten keine Anomalien aufzuweisen scheint, könnte man die aufgezeichneten Daten via unsupervised Leaning Algorithmus spalten und herausfinden, dass 86% der Daten dichter Traffic sind, die verbleibenden 14% nicht. Während Erstere zur Berechnung stabiler Baselines bzw. multidimensionaler Base Regions verwendet werden können, könnte man sich vorerst auf letztere konzentrieren, da deren detaillierte Analyse am erfolgversprechendsten ist, um ein potentielles Problem schnell ausfindig zu machen. Erst nur jenen Bruchteil der Daten zu analysieren, welcher mit größter Wahrscheinlichkeit problemdienliche Informationen enthält, spart Zeit und Kosten, da viele Applikationen oder Netzwerke mehrere 10.000 Queries pro Tag erzeugen.

Usage of new advanced statistics and machine learning features

Mehr Details finden Sie in unserem White Paper und im Use Case.

Susanne Greiner

Susanne Greiner

Hi there! My name is Susanne and I joined Würth-Phoenix early in 2015. Ever since I can remember computers and the perfection that can be reached by them have been very fascinating for me. I built my first personal PC using components from about 20 broken ones at the age of 11 and fell in love with open source, visualization and data analysis shortly afterwards. I hold a master in experimental physics (University of Erlangen, Germany) and a PhD in computer science (Universtiy of Trento, Italy) my main interests are machine learning, visualization techniques, statistics and optimization. As long as an algorithm of mine runs at night and I get new interesting results the morning after I am able to sleep well. Beside computers I also like music, inline skating, and skiing.

Author

Susanne Greiner

Hi there! My name is Susanne and I joined Würth-Phoenix early in 2015. Ever since I can remember computers and the perfection that can be reached by them have been very fascinating for me. I built my first personal PC using components from about 20 broken ones at the age of 11 and fell in love with open source, visualization and data analysis shortly afterwards. I hold a master in experimental physics (University of Erlangen, Germany) and a PhD in computer science (Universtiy of Trento, Italy) my main interests are machine learning, visualization techniques, statistics and optimization. As long as an algorithm of mine runs at night and I get new interesting results the morning after I am able to sleep well. Beside computers I also like music, inline skating, and skiing.

Leave a Reply

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

Archive