diff --git a/chapters/thesis/chapter02.tex b/chapters/thesis/chapter02.tex index b90174a..548ad53 100644 --- a/chapters/thesis/chapter02.tex +++ b/chapters/thesis/chapter02.tex @@ -8,6 +8,9 @@ das jeder Wechsel einer Seite oder eine Suchanfrage als Web"=Request an den Serv geht durch mehrere Schichten des Server"=System bis die Antwort an den Client zurückgesendet wird, wie in \ref{fig:webrequest} dargestellt. +\mytodos{Unterschiedevon Glassfish und Payara eingehen, hier wird Payara verwendet glassfish ist reference-impl von oracle / payara ist commerzielle +Lösung (In der Arbeit ausereinander halten) https://github.com/eclipse-ee4j/glassfish/} + Angefangen bei der Anfrage die über den Webbrowser an den Server gestellt wird und vom \textit{Glassfish}"=Server empfangen wird. In diesem wird anhand des definierten Routing entschieden, an welche \textit{Java Server Page} die Anfrage weitergeleitet und verarbeitet wird. In dieser wird die Darstellung der Webseite geladen und die Anfragen für diff --git a/chapters/thesis/chapter04.tex b/chapters/thesis/chapter04.tex index b5a391d..88ff900 100644 --- a/chapters/thesis/chapter04.tex +++ b/chapters/thesis/chapter04.tex @@ -22,5 +22,24 @@ prüfen, die den Cache von OpenJPE auswerten} \section{Einbau und Aktivieren von Performance-Messung} \label{sec:performance-checking:performance-measure} -\mytodos{Einbau der Messungen direkt in die Webseite bzw. in ein Log} +Um eine Messung der Performance in der Webseite durchführen zu können, gibt es in \ac{JSF} die Möglichkeit, über eine +eigene Implementierung der Klasse \textbf{ViewDeclarationLanguageWrapper} sich in das generieren der Webseite +einzuhängen. Hierbei können die Funktionen für das erstellen, des bauen und das rendern der Webseite überschrieben +werden. In den überschriebenen Funktionen können nun Messungen eingebaut werden, und diese Zeiten werden in eine +Log"=Datei eingetragen. + +\mytodos{die VdlLogger und VdlLoggerFactory-Klasse als Appendix anhängen} + +Zusätzlich wird noch eine Implementierung der zugehörigen Factory"=Klasse \textbf{ViewDeclarationLanguageFactory} +benötigt. Diese Implementierung wird dann noch in der \textbf{faces-config.xml} eingetragen, dies wird in +\ref{lst:activate-fatory} gezeigt. + +\begin{lstlisting}[language=xml,caption={Einbindung Factory},label=lst:activate-factory] + + + de.wedekind.utils.VdlLoggerFactory + + +\end{lstlisting} + \mytodos{Einstellung am postgresql um die queries mit zu loggen} diff --git a/chapters/thesis/chapter05.tex b/chapters/thesis/chapter05.tex index e8a34a6..207c36f 100644 --- a/chapters/thesis/chapter05.tex +++ b/chapters/thesis/chapter05.tex @@ -92,6 +92,9 @@ Dokumente, sowie den letzten und ersten Eintrag der Tabelle. \label{tbl:measure-without-cache-docker} \end{table} +\mytodos{searchreference-scheduler deaktivieren und hier angeben} +\mytodos{die Reihenfolge der Sektion dem Schichtmodel anpassen} + \section{Caching im OpenJPA} \label{sec:performance-investigation-application:caching-openjpa} @@ -508,6 +511,29 @@ abfragt. \section{Verkleinerung der Abfragen} \label{sec:performance-investigation-application:smaller-query} +\section{Java Server Faces} +\label{sec:performance-investigation-application:java-server-faces} + +\mytodos{Zeitmessungen innerhalb der Anwendung über einen Flamegraphs darstellten https://www.brendangregg.com/flamegraphs.html} +\mytodos{Diese Zeitmessung vielleicht noch ins Obere Kapitel ala Ausgangspunkt verschieben} + +Wie in \ref{sec:performance-checking:performance-measure} beschrieben wurde, die Protokollierung für das erstellen einer +Webseite aktiviert. Bei komplett deaktivierten Cache sieht man, dass bei der Dokumentenliste der größte Zeitfaktor beim +Render der Sicht auftritt. Wenn man nun noch die Abfrage auf die Materialized-View umstellt, ist es noch auffälliger. + +\begin{table}[h!] + \centering + \begin{tabular}{|l|r|r|r|} + \hline + Art & min (ms) & avg (ms) & max (ms) \\ + \hline + create & 0.030 & 0.048 & 0.081 \\ + build & 1.637 & 2.004 & 2.113 \\ + render & 116.338 & 148.975 & 156.875 \\ + \hline + \end{tabular} +\end{table} + \section{Statische Webseiten} \label{sec:performance-investigation-application:static-website} diff --git a/thesis-beamer.pdf b/thesis-beamer.pdf index 29fbd56..e7299fb 100644 Binary files a/thesis-beamer.pdf and b/thesis-beamer.pdf differ diff --git a/thesis-beamer.tex b/thesis-beamer.tex index 3688192..9fdae77 100644 --- a/thesis-beamer.tex +++ b/thesis-beamer.tex @@ -21,6 +21,10 @@ \begin{document} \selectlanguage{ngerman} +% - Vergleich mit barchart nicht die Tabellen +% - Prozess zeigen was wo gemessen wird, also was genau wurde wo verändert. hier könnte man die Schichtdarstellung nutzen +% und dort markieren, was genau verändert wurde + % -- SLIDE -- Title \begin{frame}[plain] \titlepage diff --git a/thesis.pdf b/thesis.pdf index d7a6ed5..0863f10 100644 Binary files a/thesis.pdf and b/thesis.pdf differ