Daily CheckIn

This commit is contained in:
marcodn 2024-03-26 22:18:55 +01:00
parent fbc6ae8b15
commit a7c68c3fce
10 changed files with 156 additions and 19 deletions

View file

@ -11,7 +11,19 @@ um eine längere Bearbeitung anzuzeigen.
\section{Motivation}
\label{sec:intro:motivation}
Lorem Ipsum
Die Frank-Wedekind-Bibliothek soll als Grundlage weiterer Forschungen dienen. Durch die weitere Forschung soll die
literarhistorische und kulturgeschichtliche Wissen über die Kultur zwischen 1880 und 1918 erweitern. Um dieses
Vorhaben umsetzen zu können muss die Anwendung dem Benutzer gerecht werden, damit diese verwendet wird und somit
den Wissenstand entsprechend erweitert werden kann.
Um das Ziel der Akzeptanz zu erreichen und das sich die Bediener rein auf ihre Arbeit konzentrieren können, muss mit der
Anwendung flüssig interagiert werden können. Entsprechend müssen die Wartzeiten auf ein minimum reduziert werden.
Des Weiteren muss die Stabilität der Anwendung gesteigert werden.
\section{Ausgangslage}
\label{sec:intro:initial-situation}
\mytodos{hier die Grundlagen aus dem Expose? Braucht man die Motivation dann noch?}
\section{Ziel der Arbeit}
\label{sec:intro:goal}
@ -29,16 +41,24 @@ Hierbei ist auch ein Vergleich mit anderen Technologien angedacht.
\label{sec:intro:structure}
Zu Begin der Arbeit werden im Kapitel \ref{ch:basics} die Struktur und der grundsätzliche Aufbau der Anwendung
erklärt. Hierbei wird aufgezeigt auf welche Probleme auftreten können und wie diese zu überprüfen sind.
Nachfolgenden wird im Kapitel \ref{ch:concept} die Konzepte vorgestellt und aus verschiedenen Blickwinkel
betrachtet. Hierbei wird versucht ....
Bei Performance-Untersuchung in Kapitel \ref{ch:performance-checking} werden nun die Konzepte angewandt, um
die Probleme zu identifizieren.
Danach werden die Untersuchungen ausgewertet und die Performance-Probleme identifiziert. Hierbei ist nun ein
gesondertes Vorgehen je erkannten Problem durchzuführen, um diese zu beheben oder mindestens in einen akzeptablen
Rahmen zu verbessern.
Nach der Optimierung kommt nun die Evaluierung im Kapitel \ref{ch:evaluation} um zu überprüfen ob die Anpassungen
erklärt. Hierbei wird aufgezeigt an welchen Stellen immer wieder zu Unstimmigkeiten kommen kann und wie diese zu
überprüfen sind.
Nachfolgenden wird im Kapitel \ref{ch:concept} die Konzepte vorgestellt mit welchen man die Probleme ermitteln wird.
Hierbei ist zusätzlich ein Blick auf andere Frameworks sinnvoll, um dort aus den bekannten Anomalien zu lernen und
deren Lösungsansatz zu überprüfen ob diese angewandt werden kann.
Bei den Performance-Untersuchung in Kapitel \ref{ch:performance-checking} werden nun die Konzepte angewandt, um
die Problemstellen zu identifizieren. Diese werden dann bewertet, unter den Gesichtspunkten ob eine Optimierung an
dieser Stelle sinnvoll ist, oder ob der Arbeitsaufwand dafür zu enorm ist.
Nach der Entscheidung der Reihenfolge der zu bearbeitenden Punkte, wird im Kapitel \ref{ch:optimizing} je nach
Problemart ein gesondertes Vorgehen der Optimierung durchgeführt, um diese zu beheben oder mindestens in einen
akzeptablen Rahmen zu verbessern. Diese Optimierungen werden dann in der Software entsprechend dem Weg angepasst.
Nach der Optimierung kommt nun die Evaluierung im Kapitel \ref{ch:evaluation}, um zu überprüfen ob die Anpassungen
die gewünschten Verbesserung in der Performance gebracht haben.
Zum Abschluss wird explizit die Anpassungen dargestellt, die zu einer Verbesserung geführt haben und wie diese
entsprechend umgesetzt werden müssen. Zusätzliche wird beschrieben wie ein weiteres Vorgehen durchgeführt werden
kann.
Zum Abschluss im Kapitel \ref{ch:summary_and_outlook} wird explizit die Anpassungen dargestellt, die zu einer
merklichen Verbesserung geführt haben und wie diese entsprechend umgesetzt werden müssen. Zusätzliche wird
beschrieben wie ein weiteres Vorgehen durchgeführt werden kann.

View file

@ -61,7 +61,7 @@ zu verringern. Um Anfragen die den Zugriff auf die Festplatte benötigen effizie
\label{fig:webrequest}
\end{figure}
\section{Glassfisch - Enterprise Java Beans}
\section{Glassfish - Enterprise Java Beans}
\label{sec:basics:ejb}
In den Java-EE-An\-wen\-dung\-en wird der \textit{Persistenzkontext} für die Anfragen vom \textit{Application-Server}
@ -74,7 +74,7 @@ Entities in den \textit{Persistenzkontext} geladen werden. Da dies häufig zu Sp
\citep[79]{MüllerWehr2012} führen kann, muss hier darauf geachtet werden, nicht mehr benötigte Entities aus dem
\textit{Persistenzkontext} zu lösen.
\section{Glassfish - Java Persinstance API}
\section{Glassfish - Java Persistance API}
\label{sec:basics:jpa}
Die \textit{Java Persistence API (JPA)} wird als First-Level-Cache in Java-EE-An\-wen\-dung verwendet, hier nehmen die
@ -182,5 +182,3 @@ Bei \textit{Langen} Abfragen ist die Abhandlung >>Optimizing Iceberg Queries wit
Des Weiteren können über das Modul \texttt{pg\_stat\_statements} Statistiken der Aufrufe die an den Server gestellt
wurden, ermittelt werden \citep{PostgresF27:2023}. Hierbei können die am häufigsten Aufgerufenen und die Anfragen mit
der längsten Ausführungszeit ermittelt werden.
%

View file

@ -3,6 +3,7 @@
\label{ch:concept}
\section{Aufbau der Umfrage}
\label{sec:concept:poll}
% erste Frage sollte unterscheiden ob Bearbeiter oder Benutzer ist
% an welchen Aktion kommt es zu längeren Wartezeiten
@ -10,9 +11,24 @@
% treten sie sporadisch oder immer mit gleichen Muster (z.B. immer Nachmittags, immer bei der gleichen Abfolge an Aktionen) auf
\section{Allgemeine Betrachtung des Systems}
\label{sec:concept:viewsystem}
% Untersuchung des Servers
\section{Das Vorgehen der Optimierung}
\label{sec:concept:optimizing}
% Anhand der Umfragen werden die verschiedenen Seiten ermittelt und mit den Tools überprüft
% Während dessen kann über ein Script die Seite automatisiert abgefragt und das Trace aktiv sind
% je nach erkentnis mss dann der Lösungsweg beschritten werden
% Beachten des Speicherverbrauchs!
\section{Aktueller Aufbau der Software}
\label{sec:concept:softwarestructure}
% Hier vielleicht nochmal ein Verweis auf die Grundlagen, oder direkt auf die MVC-Technik
\section{Vergleich mit anderen Technologien}
\label{sec:concept:technologiecompare}
% Vergleich mit AspNetCore und vielleicht VueJS oder Konsorten, wobei hier der Serverteil fehlt

View file

@ -3,9 +3,23 @@
\label{ch:performance-checking}
\section{Auswertung der Umfrage}
\label{sec:performance-checking:poll}
% Auswerten ob es einen Zusammenhang zwischen bestimmten Zeiten gibt oder ob es
% eine bestimmte Reihenfolge gibt, bei der die Probleme auftreten
\section{Einbau und Aktivieren von Performance-Messung}
\label{sec:performance-checking:performance-measure}
%
\section{Statistiken im PostrgreSQL auswerten}
\label{sec:performance-checking:postgresql-statistics}
% Logs auswerten, am besten vom Produktionsserver. Ebenfalls sollte man die Webseite
% prüfen, die den Cache von OpenJPE auswerten
\section{Überprüfung des PostgreSQL und Servers}
\label{sec:performance-checking:postgresql-checking}
% Konfiguration vom Produktionsserver prüfen

View file

@ -3,12 +3,16 @@
\label{ch:optimizing}
\section{Ermittlung der Performance-Probleme}
\label{sec:optimizing:performance}
\section{Analyse der Abfrage}
\label{sec:optimizing:query-analyse}
\section{Optimierungen der Abfragen}
\label{sec:optimizing:query-optimizing}
\section{Anpassung der Konfiguration}
\label{sec:optimizing:configuration}
und hier ein sql-beispiel \autoref{lst:tester}
\includecode[SQL]{chapters/thesis/chapter05_example.sql}{lst:tester}{ein sql beispiel}