diff options
Diffstat (limited to '30-qualitaetsheft/sections/lasttest.tex')
-rw-r--r-- | 30-qualitaetsheft/sections/lasttest.tex | 105 |
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 |