diff --git a/chapters/expose/chapter01.tex b/chapters/expose/chapter01.tex index a5e0990..afb02cc 100644 --- a/chapters/expose/chapter01.tex +++ b/chapters/expose/chapter01.tex @@ -100,6 +100,40 @@ Im Query-Cache werden die Abfragen bzw. die Eigenschaften einer Abfragen und die Um zu prüfen ob die Einstellungen sinnvoll gesetzt sind, gibt es in OpenJPA eine Cache-Statistik, die abgefragt werden kann. Mit dieser kann die Anzahl der Lese- und Schreibzugriffe im Cache überprüft werden. Entsprechend dieser Auswertung sollten die Einstellungen and den Entities angepasst werden \citep{IbmOpenJPACaching2023}. +\begin{figure} + \begin{tikzpicture}[node distance=5em, + block/.style={rectangle, rounded corners,minimum width=3cm,minimum height=1cm,text centered, draw=black,fill=green!30}, + lineArrow/.style={arrows={-Latex[length=5pt 3 0]}}, + every fit/.style={inner sep=1em,draw} + ] + %https://docs.oracle.com/javaee/6/tutorial/doc/bnacj.html + \node (browser) [block] {WebBrowser}; + \node (fitClient) [fit=(browser)] {}; + \node [left] at (fitClient.west) {Client}; + + \node (JSP) [block,below of=browser,node distance=7em] {Java Server Pages}; + \node (EJB) [block,below of=JSP] {Enterprise Java Beans}; + \node (JPA) [block,below of=EJB] {Java Persistance API}; + \node (openJPA) [block, below of=JPA] {OpenJPA Cache}; + \node (fitGlassfish) [fit=(JSP) (EJB) (JPA) (openJPA)] {}; + \node [left] at (fitGlassfish.west) {Glassfish}; + + \node (database) [block, below of=openJPA] {Database}; + \node (fitPostgreSQL) [fit=(database)] {}; + \node [left] at (fitPostgreSQL.west) {PostgreSQL}; + + \node (fitServer) [fit=(fitGlassfish) (fitPostgreSQL),inner xsep=5em] {}; + \node [left] at (fitServer.west) {Server}; + + \draw[lineArrow] (browser)--(JSP); + \draw[lineArrow] (JSP)--(EJB); + \draw[lineArrow] (EJB)--(JPA); + \draw[lineArrow] (JPA)--(openJPA); + \draw[lineArrow] (openJPA)--(database); + + \end{tikzpicture} + \caption{Ablauf einer Web-Anfrage} +\end{figure} % Zum ende noch, warum wird das gemacht? => Weil Datenbank-Definition immer unterschiedlich sind, und die Optimierung an den entsprechenden % Datenbestand angepasst werden muss @@ -115,3 +149,4 @@ Danach werden die Abfrage selbst untersucht und auf Optimierungen überprüft. H Als letztes wird noch die Art des Aufrufers betrachtet. Hierbei wird die Art und Weise der Aufrufe genauer betrachtet. Ob zum Beispiel eine vorhandene Anfrage mehrfach verwendet wird und diese besser auf 2 ähnliche Abfrage aufgeteilt werden kann. Oder ob an den Stellen ein Paging eingebaut werden kann, um die übertragene Datenmengen zu reduzieren. Zeitgleich wird der PostgreSQL sowie der Server selbst untersucht und die Einstellungen überprüft. Hierzu gehören die Größen der Speicher und die Wartungsaufgaben des Datenbanksystems. In diesem Zuge werden auch die Log-Dateien vom PostgreSQL, unter Zuhilfenahme von pgFouine, untersucht und auf Probleme und Unregelmässigkeiten geprüft. + diff --git a/expose.pdf b/expose.pdf index 4fc6baf..0df90bc 100644 Binary files a/expose.pdf and b/expose.pdf differ diff --git a/expose.tex b/expose.tex index 3eb1cbf..ef7c2dd 100644 --- a/expose.tex +++ b/expose.tex @@ -45,7 +45,7 @@ %\cleardoublepage\include{frontbackmatter/Publications} %\cleardoublepage\include{frontbackmatter/Acknowledgments} \cleardoublepage\include{frontbackmatter/Contents} -%\cleardoublepage\include{frontbackmatter/Figures} +\cleardoublepage\include{frontbackmatter/Figures} %\cleardoublepage\include{frontbackmatter/Tables} %\cleardoublepage\include{frontbackmatter/Listings} %\cleardoublepage\include{frontbackmatter/Acronyms} diff --git a/marco-galster-config.tex b/marco-galster-config.tex index 90d38fb..cd375fc 100644 --- a/marco-galster-config.tex +++ b/marco-galster-config.tex @@ -50,3 +50,13 @@ %\PassOptionsToPackage{spanish,es-lcroman}{babel} \usepackage{babel} +% Damit dies Funktioniert, muss in der "classicthesis.sty" die Zeile 153 einkommentiert werden, damit der Fehler "Black ist nicht bekannt" mehr auftritt +\usepackage{pgfplots} % External TikZ/PGF support (thanks to Andreas Nautsch) +\usetikzlibrary{external,shapes.geometric, arrows, fit, arrows.meta} +% Notwendig, damit die Fehlermeldung "Black ist nicht bekannt" gelöst ist +% Kopiert aus "classicthesis.sty" - Zeile 153 +\definecolor{Maroon}{cmyk}{0, 0.87, 0.68, 0.32} +\definecolor{RoyalBlue}{cmyk}{1, 0.50, 0, 0} +% \definecolor{Black}{cmyk}{0, 0, 0, 0} +\definecolor{Black}{HTML}{221E1F} % Definition von https://en.wikibooks.org/wiki/LaTeX/Colors +%\definecolor{black}{HTML}{221E1F} \ No newline at end of file