Dialy CheckIn
This commit is contained in:
parent
23e767a6c9
commit
acbbf08625
6 changed files with 53 additions and 1 deletions
|
@ -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
|
geht durch mehrere Schichten des Server"=System bis die Antwort an den Client zurückgesendet wird, wie in
|
||||||
\ref{fig:webrequest} dargestellt.
|
\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
|
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
|
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
|
Anfrage weitergeleitet und verarbeitet wird. In dieser wird die Darstellung der Webseite geladen und die Anfragen für
|
||||||
|
|
|
@ -22,5 +22,24 @@ prüfen, die den Cache von OpenJPE auswerten}
|
||||||
\section{Einbau und Aktivieren von Performance-Messung}
|
\section{Einbau und Aktivieren von Performance-Messung}
|
||||||
\label{sec:performance-checking:performance-measure}
|
\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]
|
||||||
|
<factory>
|
||||||
|
<view-declaration-language-factory>
|
||||||
|
de.wedekind.utils.VdlLoggerFactory
|
||||||
|
</view-declaration-language-factory>
|
||||||
|
</factor>
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
\mytodos{Einstellung am postgresql um die queries mit zu loggen}
|
\mytodos{Einstellung am postgresql um die queries mit zu loggen}
|
||||||
|
|
|
@ -92,6 +92,9 @@ Dokumente, sowie den letzten und ersten Eintrag der Tabelle.
|
||||||
\label{tbl:measure-without-cache-docker}
|
\label{tbl:measure-without-cache-docker}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
\mytodos{searchreference-scheduler deaktivieren und hier angeben}
|
||||||
|
\mytodos{die Reihenfolge der Sektion dem Schichtmodel anpassen}
|
||||||
|
|
||||||
\section{Caching im OpenJPA}
|
\section{Caching im OpenJPA}
|
||||||
\label{sec:performance-investigation-application:caching-openjpa}
|
\label{sec:performance-investigation-application:caching-openjpa}
|
||||||
|
|
||||||
|
@ -508,6 +511,29 @@ abfragt.
|
||||||
\section{Verkleinerung der Abfragen}
|
\section{Verkleinerung der Abfragen}
|
||||||
\label{sec:performance-investigation-application:smaller-query}
|
\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}
|
\section{Statische Webseiten}
|
||||||
\label{sec:performance-investigation-application:static-website}
|
\label{sec:performance-investigation-application:static-website}
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -21,6 +21,10 @@
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\selectlanguage{ngerman}
|
\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
|
% -- SLIDE -- Title
|
||||||
\begin{frame}[plain]
|
\begin{frame}[plain]
|
||||||
\titlepage
|
\titlepage
|
||||||
|
|
BIN
thesis.pdf
BIN
thesis.pdf
Binary file not shown.
Loading…
Reference in a new issue