Dialy CheckIn

This commit is contained in:
marcodn 2024-08-31 00:09:15 +02:00
parent 23e767a6c9
commit acbbf08625
6 changed files with 53 additions and 1 deletions

View file

@ -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

View file

@ -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}

View file

@ -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.

View file

@ -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

Binary file not shown.