summaryrefslogtreecommitdiff
path: root/30-qualitaetsheft/sections/lasttest.tex
diff options
context:
space:
mode:
Diffstat (limited to '30-qualitaetsheft/sections/lasttest.tex')
-rw-r--r--30-qualitaetsheft/sections/lasttest.tex105
1 files changed, 105 insertions, 0 deletions
diff --git a/30-qualitaetsheft/sections/lasttest.tex b/30-qualitaetsheft/sections/lasttest.tex
new file mode 100644
index 0000000..ed5d4a9
--- /dev/null
+++ b/30-qualitaetsheft/sections/lasttest.tex
@@ -0,0 +1,105 @@
+\section{\Glspl{Lasttest}}
+
+\subsection{Einleitung}
+
+\Glspl{Lasttest} sind sinnvoll, um das Verhalten eines Programmes unter großer Last
+zu testen um somit dessen Belastungsgrenze zu erreichen.
+Dadurch wird das Programm auf Stabilität getestet und man erhält
+einen Eindruck davon, wie performant das Programm ist.
+Auch kann durch die erhaltenen Ergebnisse abgeschätzt werden,
+welche Hardware für den erwarteten Einsatzzweck benötigt wird.
+
+\subsection{Verwendete Software}
+
+Da der \Gls{podcast}synchronisationsserver ein Webserver ist und über HTTP
+kommuniziert, wird das Tool \enquote{Apache JMeter} verwendet, um
+die \Glspl{Lasttest} durchzuführen.
+Mit diesem Tool kann mithilfe eines sogenannten Testplans
+systematisch HTTP Anfragen an den Server gestellt werden.
+Während dieser Testplan läuft, sammelt das Tool verschiedene Daten über die Performanz des Services,
+wie zum Beispiel die Anzahl der Anfragen, die pro Sekunde bearbeitet werden.
+Im Anschluss werden die Testergebnisse grafisch zur Verfügung gestellt.
+
+\subsection{Tests}
+Um zu testen, ob der Synchronisationsserver unter voller Belastung
+fehlerfrei arbeitet, wurden alle Schnittstellen, die die \Gls{podcatcher} zur
+Synchronisation nutzen, jeweils zum Testplan als eigene Threadgruppe
+hinzugefügt.
+Damit ist es möglich, alle relevanten Schnittstellen
+über einen längeren Zeitraum kontinuierlich zu belasten.
+So wird ausgeschlossen, dass es innerhalb des Programms zu gegenseitigen
+Interferenzen kommt, wenn alle Bereiche zur selben Zeit ausgelastet werden.
+Ein weiterer Vorteil des gleichzeitigen Belastens ist, dass
+Engpässe, welche das Programm ausbremsen, leichter identifiziert werden können.
+
+Um einen Performanzvergleich zwischen unterschiedlicher Hardware zu erhalten,
+wurden die Tests in gleicher Konfiguration einmal auf einem System,
+welches den im Pflichtenheft definierten Mindestanforderungen
+(2 Kerne und 2GB RAM) entspricht und
+einem besseren System (8 Kerne und 32GB RAM) getestet.
+
+\newpage
+
+\subsection{Testergebnisse}
+\subsubsection{Genaue Testwerte}
+\textit{2-Kern System:}
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{assets/lasttest/minimumSpecsTable.png}
+\end{figure}
+
+\textit{8-Kern System:}
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{assets/lasttest/goodSpecsTable.png}
+\end{figure}
+
+\subsection{Anfragen pro Sekunde}
+
+Aus den Testdaten ist ersichtlich, dass die im Pflichtenheft für den Synchronisationsserver
+als Musskriterium aufgeführte Eigenschaft, 50 Anfragen pro Sekunde bewältigen zu können,
+nicht für jede Hardwarekonfiguration möglich ist.
+Denn im Gegensatz zur 8-Kern CPU, welche durchschnittlich 88,93 Transaktionen pro Sekunde
+verarbeitet, sind mit den Mindestanforderungen durchschnittlich nur 10,85 Anfragen
+pro Sekunde möglich.
+
+\newpage
+\subsubsection{Application Performance Index}
+
+\textit{2-Kern System:}
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{assets/lasttest/minimumSpecsApdex.png}
+\end{figure}
+
+\textit{8-Kern System:}
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{assets/lasttest/goodSpecsApdex.png}
+\end{figure}
+
+\newpage
+
+Der Application Performance Index (kurz: \Gls{Apdex}) gibt an, wie benutzerfreundlich
+eine Webseite bezüglich ihrer Antwortzeiten bei Anfragen ist.
+Dabei stellt \enquote{1} die beste Nutzerfreundlichkeit dar und \enquote{0} die schlechteste.
+
+Verglichen mit den genauen Testwerten, ist ersichtlich, dass ein System mit den Mindestanforderungen zwar eine akzeptable Leistung erbringt, allerdings die vom \Gls{Apdex} definierte Frustrationsgrenze überschreiten kann:
+
+\textit{2-Kern System:}
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{assets/lasttest/minimumSpecsResponse.png}
+\end{figure}
+
+\textit{8-Kern System:}
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{assets/lasttest/goodSpecsResponse.png}
+\end{figure}
+
+Bei Ausführung des Synchronisationsservers auf einem 2-Kern System kann somit
+keine zufriedenstellende Nutzererfahrung garantiert werden, sobald der Server einer starken
+Last ausgesetzt ist.
+
+Um eine zufriedenstellende Erfahrung zu garantieren, ist bessere Hardware eine hinreichende Bedingung. \ No newline at end of file