Daily CheckIn

This commit is contained in:
marcodn 2024-08-21 23:44:10 +02:00
parent 94e2c44fd1
commit adb7dc7122
7 changed files with 238 additions and 37 deletions

View file

@ -79,6 +79,9 @@ dcstart() {
dcstop() { dcstop() {
sudo docker compose -f $COMPOSE_FILE stop sudo docker compose -f $COMPOSE_FILE stop
} }
dcres() {
sudo docker compose -f $COMPOSE_FILE down
}
dcstats() { dcstats() {
sudo docker stats sudo docker stats
} }
@ -101,6 +104,7 @@ for name in "$@"; do
dcinit) dccreate ;; dcinit) dccreate ;;
dcstart) dcstart ;; dcstart) dcstart ;;
dcstop) dcstop ;; dcstop) dcstop ;;
dcres) dcres ;;
dcstats) dcstats ;; dcstats) dcstats ;;
measinit) measinit)
pginit pginit
@ -150,8 +154,9 @@ for name in "$@"; do
echo "" echo ""
echo "*** docker ***" echo "*** docker ***"
echo " dcinit Docker erstellen" echo " dcinit Docker erstellen"
echo " dcstart Docker Container erstellen und starten" echo " dcstart Docker Container starten"
echo " dcstop Docker Container stoppen und loeschen" echo " dcstop Docker Container stoppen"
echo " dcres Docker Container stoppen und loeschen"
echo " dcstats Docker live Statistik anzeigen" echo " dcstats Docker live Statistik anzeigen"
echo "" echo ""
echo "*** combine cmds ***" echo "*** combine cmds ***"

View file

@ -34,12 +34,14 @@ Der Speicherbedarf steigt auch relative gleichmässig, was nicht recht ins Bild
gehalten werden sollten. gehalten werden sollten.
\mytodos{hier noch text einfügen, der erklärt wie die Spalten zu werten sind, also Aufrufzeit ist kürzer gleich besser} \mytodos{hier noch text einfügen, der erklärt wie die Spalten zu werten sind, also Aufrufzeit ist kürzer gleich besser}
\mytodos{Diese Tabelle vielleicht auch einfach komplett streichen, da der Datenbestand anders ist, und das wichtigste
die Zeit der SQL-Abfragen nicht sichtbar ist}
\begin{table}[h!] \begin{table}[h!]
\centering \centering
\begin{tabular}{|r|r|r|r|r|r|r|r|} \begin{tabular}{|r|r|r|r|r|r|r|r|}
\hline \hline
& \multicolumn{3}{|c|}{Aufrufzeit (ms)} & & \multicolumn{3}{|c|}{RSS (MB)} \\ & \multicolumn{3}{c}{Aufrufzeit (ms)} & & \multicolumn{3}{|c|}{RSS (MB)} \\
\hline \hline
\# & min & avg & max & Queries & davor & danach & diff \\ \# & min & avg & max & Queries & davor & danach & diff \\
\hline \hline
@ -69,18 +71,20 @@ Ausführungszeiten der SQL-Abfragen wurden nur die 2 Hauptabfragen auf der Docum
Dokumente, sowie den letzten und ersten Eintrag der Tabelle. Dokumente, sowie den letzten und ersten Eintrag der Tabelle.
\mytodos{es müssen die 6 Anfragen sein, document, first/last, documentaddresseeperson, documentcoauthorperson, documentfacsimile und count} \mytodos{es müssen die 6 Anfragen sein, document, first/last, documentaddresseeperson, documentcoauthorperson, documentfacsimile und count}
% document, first/last, documentaddresseeperson, documentcoauthorperson, documentfacsimile und count
\begin{table}[h!] \begin{table}[h!]
\centering \centering
\begin{tabular}{|r|r|r|r|r|r|r|r|r|} \begin{tabular}{|r|r|r|r|r|r|r|r|r|}
\hline \hline
& \multicolumn{3}{|c|}{Aufrufzeit (ms)} & \multicolumn{2}{|c|}{Queries (ms)} & \multicolumn{3}{|c|}{Memory (MB)} \\ & \multicolumn{3}{c|}{Aufrufzeit (ms)} & \multicolumn{2}{c|}{Queries} & \multicolumn{3}{c|}{Memory (MB)} \\
\hline \hline
\# & min & avg & max & cnt & sum & davor & danach & diff \\ \# & min & avg & max & \#-avg & avg(ms) & davor & danach & diff \\
\hline \hline
1 & 354 & 649 & 2225 & 12240 & 181 & 967 & 1004 & 37 \\ 1 & 360 & 623 & 2079 & 1224.0 & 30.3 & 872.8 & 914.1 & 41.3 \\ % 12240 - 303 ms (135+ 79+ 39+ 22+17+11) (#2-6,8)
2 & 288 & 328 & 409 & 12080 & 175 & 1004 & 1113 & 109 \\ % 356ms 2 & 331 & 372 & 430 & 1208.0 & 31.2 & 914.5 & 1008.0 & 93.5 \\ % 24320 - 615 ms (270+156+ 78+ 56+34+21) (#2-7)
3 & 294 & 449 & 746 & 12080 & 177 & 1113 & 1258 & 145 \\ % 533ms 3 & 291 & 428 & 815 & 1208.0 & 33.5 & 1030.0 & 1297.0 & 267.0 \\ % 36400 - 950 ms (406+256+118+ 79+55+36) (#2-7)
4 & 289 & 371 & 634 & 12080 & 180 & 1279 & 1541 & 262 \\ % 713ms 4 & 288 & 357 & 433 & 1208.0 & 33.7 & 1299.0 & 1461.0 & 162.0 \\ % 48480 - 1287 ms (564+334+167+105+72+45) (#2-7)
5 & 294 & 404 & 499 & 1208.0 & 32.9 & 1462.0 & 1638.0 & 176.0 \\ % 60560 - 1616 ms (699+428+210+128+92+59) (#2-7)
\hline \hline
\end{tabular} \end{tabular}
\caption{Messung ohne Caches im Docker} \caption{Messung ohne Caches im Docker}
@ -97,7 +101,7 @@ Die Cache-Einstellung von OpenJPA werden über die zwei Einstellungen \texttt{op
Objekte aus dem Cache entfernt und in eine SoftReferenceMap übertragen. Objekte aus dem Cache entfernt und in eine SoftReferenceMap übertragen.
Zuerst wird mit aktivierten Cache mit einer Cache-Größe von 1000 Elemente getestet. Wie in \ref{tbl:measure-ojpa-active} Zuerst wird mit aktivierten Cache mit einer Cache-Größe von 1000 Elemente getestet. Wie in \ref{tbl:measure-ojpa-active}
zu sehen, dauert auch hier der erste Aufruf minimal länger als ohne akiviertem Cache. Alle Nachfolgenden Aufrufe zu sehen, dauert auch hier der erste Aufruf minimal länger als ohne aktiviertem Cache. Alle Nachfolgenden Aufrufe
wiederrum sind um 100ms schneller in der Verarbeitung. Auch bei der Anzahl der Anfragen an die Datenbank kann mehr den wiederrum sind um 100ms schneller in der Verarbeitung. Auch bei der Anzahl der Anfragen an die Datenbank kann mehr den
Rückgang der Anfragen sehr gut sehen. Aktuell kann die Verringerung des wachsenden Speicherbedarfs nur nicht erklärt Rückgang der Anfragen sehr gut sehen. Aktuell kann die Verringerung des wachsenden Speicherbedarfs nur nicht erklärt
werden. werden.
@ -106,15 +110,15 @@ werden.
\centering \centering
\begin{tabular}{|r|r|r|r|r|r|r|r|r|} \begin{tabular}{|r|r|r|r|r|r|r|r|r|}
\hline \hline
& \multicolumn{3}{|c|}{Aufrufzeit (ms)} & \multicolumn{2}{|c|}{Queries (ms)} & \multicolumn{3}{|c|}{Memory (MB)} \\ & \multicolumn{3}{c|}{Aufrufzeit (ms)} & \multicolumn{2}{c|}{Queries} & \multicolumn{3}{c|}{Memory (MB)} \\
\hline \hline
\# & min & avg & max & cnt & sum & davor & danach & diff \\ \# & min & avg & max & \#-avg & avg(ms) & davor & danach & diff \\
\hline \hline
1 & 338 & 567 & 1853 & 7418 & 288 & 874 & 923 & 49 \\ % 7418 - 288 ms (145+ 42+ 40+ 24+18+ 8+ 7+ 4) (#2-8,12) 1 & 338 & 567 & 1853 & 741.8 & 28.8 & 874.8 & 923.5 & 48.7 \\ % 7418 - 288 ms (145+ 42+ 40+ 24+18+ 8+ 7+ 4) (#2-8,12)
2 & 235 & 290 & 460 & 6852 & 258 & 923 & 926 & 3 \\ % 14270 - 546 ms (282+ 81+ 70+ 47+33+14+11+ 8) (#2-9) 2 & 235 & 290 & 460 & 685.2 & 25.8 & 923.5 & 926.4 & 2.9 \\ % 14270 - 546 ms (282+ 81+ 70+ 47+33+14+11+ 8) (#2-9)
3 & 225 & 254 & 313 & 6836 & 276 & 927 & 1018 & 90 \\ % 21106 - 822 ms (430+120+ 99+ 77+49+20+16+11) (#2-9) 3 & 225 & 254 & 313 & 683.6 & 27.6 & 927.4 & 1018.0 & 90.6 \\ % 21106 - 822 ms (430+120+ 99+ 77+49+20+16+11) (#2-9)
4 & 235 & 289 & 403 & 6839 & 276 & 1018 & 1018 & 0 \\ % 27945 - 1098 ms (569+160+137+ 99+68+26+22+17) (#2-9) 4 & 235 & 289 & 403 & 683.9 & 27.6 & 1018.0 & 1018.0 & 0.0 \\ % 27945 - 1098 ms (569+160+137+ 99+68+26+22+17) (#2-9)
5 & 193 & 265 & 359 & 6879 & 276 & 1025 & 1140 & 115 \\ % 34824 - 1374 ms (704+202+171+128+86+34+27+22) (#2-9) 5 & 193 & 265 & 359 & 687.9 & 27.6 & 1025.0 & 1140.0 & 115.0 \\ % 34824 - 1374 ms (704+202+171+128+86+34+27+22) (#2-9)
\hline \hline
\end{tabular} \end{tabular}
\caption{Messung mit OpenJPA-Cache und Größe auf 1000} \caption{Messung mit OpenJPA-Cache und Größe auf 1000}
@ -131,15 +135,15 @@ beschleunigt werden konnte.
\centering \centering
\begin{tabular}{|r|r|r|r|r|r|r|r|r|} \begin{tabular}{|r|r|r|r|r|r|r|r|r|}
\hline \hline
& \multicolumn{3}{|c|}{Aufrufzeit (ms)} & \multicolumn{2}{|c|}{Queries (ms)} & \multicolumn{3}{|c|}{Memory (MB)} \\ & \multicolumn{3}{c|}{Aufrufzeit (ms)} & \multicolumn{2}{c|}{Queries} & \multicolumn{3}{c|}{Memory (MB)} \\
\hline \hline
\# & min & avg & max & cnt & sum & davor & danach & diff \\ \# & min & avg & max & \#-avg & avg(ms) & davor & danach & diff \\
\hline \hline
1 & 151 & 368 & 1904 & 1422 & 208 & 878.1 & 919.9 & 41.8 \\ % 1422 - 208 ms (133+ 40+ 23+9+2+1) (#2,4-6,10,12) 1 & 151 & 368 & 1904 & 142.2 & 20.8 & 878.1 & 919.9 & 41.8 \\ % 1422 - 208 ms (133+ 40+ 23+9+2+1) (#2,4-6,10,12)
2 & 133 & 143 & 159 & 60 & 205 & 919.8 & 921.0 & 1.2 \\ % 1482 - 413 ms (274+ 80+ 47+9+2+1) (#2-3,5,6,10,12) 2 & 133 & 143 & 159 & 6.0 & 20.5 & 919.8 & 921.0 & 1.2 \\ % 1482 - 413 ms (274+ 80+ 47+9+2+1) (#2-3,5,6,10,12)
3 & 120 & 126 & 132 & 60 & 199 & 922.8 & 924.1 & 1.3 \\ % 1542 - 612 ms (412+119+ 69+9+2+1) (#2,3,5,6,10,12) 3 & 120 & 126 & 132 & 6.0 & 19.9 & 922.8 & 924.1 & 1.3 \\ % 1542 - 612 ms (412+119+ 69+9+2+1) (#2,3,5,6,10,12)
4 & 120 & 124 & 128 & 60 & 214 & 924.1 & 925.4 & 1.3 \\ % 1602 - 826 ms (550+168+ 96+9+2+1) (#2-4,6,10,12) 4 & 120 & 124 & 128 & 6.0 & 21.4 & 924.1 & 925.4 & 1.3 \\ % 1602 - 826 ms (550+168+ 96+9+2+1) (#2-4,6,10,12)
5 & 109 & 114 & 131 & 60 & 197 & 926.1 & 926.8 & 0.7 \\ % 1662 - 1023 ms (683+209+119+9+2+1) (#2-4,6,10,12) 5 & 109 & 114 & 131 & 6.0 & 19.7 & 926.1 & 926.8 & 0.7 \\ % 1662 - 1023 ms (683+209+119+9+2+1) (#2-4,6,10,12)
\hline \hline
\end{tabular} \end{tabular}
\caption{Messung mit OpenJPA-Cache und Größe auf 10000} \caption{Messung mit OpenJPA-Cache und Größe auf 10000}
@ -407,18 +411,20 @@ LEFT JOIN sitecity sc ON sc.id = d.city_id;
\end{lstlisting} \end{lstlisting}
% document, first/last, documentaddresseeperson, documentcoauthorperson, documentfacsimile und count % document, first/last, documentaddresseeperson, documentcoauthorperson, documentfacsimile und count
% document, count, first/last
\begin{table}[h!] \begin{table}[h!]
\centering \centering
\begin{tabular}{|r|r|r|r|r|r|r|r|} \begin{tabular}{|r|r|r|r|r|r|r|r|r|}
\hline \hline
& \multicolumn{3}{|c|}{Aufrufzeit (ms)} & & \multicolumn{3}{|c|}{RSS (MB)} \\ & \multicolumn{3}{c|}{Aufrufzeit (ms)} & \multicolumn{2}{c|}{Queries} & \multicolumn{3}{c|}{Memory (MB)} \\
\hline \hline
\# & min & avg & max & Queries & davor & danach & diff \\ \# & min & avg & max & \#-avg & avg(ms) & davor & danach & diff \\
\hline \hline
1 & 364 & 472 & 1225 & 306 & 821.03 & 890.15 & xxx.xx \\ 1 & 203 & 315 & 808 & 17.8 & 3.0 & 851.4 & 883.9 & 32.5 \\ % 178 - 30 ms (19+11+0) (#2,4,8)
2 & 345 & 361 & 290 & 100 & 839.89 & 852.26 & xxx.xx \\ 2 & 154 & 172 & 187 & 9.0 & 2.2 & 883.2 & 887.0 & 3.8 \\ % 268 - 52 ms (33+18+1) (#2,3,8)
3 & xxx & xxx & xxx & xxxxx & xxxx.xx & xxxx.xx & xxx.xx \\ 3 & 145 & 151 & 163 & 9.0 & 2.8 & 887.7 & 895.3 & 7.6 \\ % 358 - 80 ms (52+27+1) (#2,3,8)
4 & xxx & xxx & xxx & xxxxx & xxxx.xx & xxxx.xx & xxx.xx \\ 4 & 132 & 143 & 152 & 9.0 & 2.8 & 896.0 & 900.0 & 4.0 \\ % 448 - 108 ms (70+37+1) (#2,3,8)
5 & 121 & 125 & 132 & 9.0 & 2.4 & 900.6 & 901.0 & 0.4 \\ % 538 - 132 ms (85+46+1) (#2,3,8)
\hline \hline
\end{tabular} \end{tabular}
\caption{Messung mit Materialized View} \caption{Messung mit Materialized View}

View file

@ -25,7 +25,7 @@
\newcommand{\myUni}{FernUniversit\"at in Hagen\xspace} \newcommand{\myUni}{FernUniversit\"at in Hagen\xspace}
\newcommand{\mySubjectArea}{Lehrgebiet Datenbanken und Informationssysteme\xspace} \newcommand{\mySubjectArea}{Lehrgebiet Datenbanken und Informationssysteme\xspace}
\newcommand{\myLocation}{Höchstadt\xspace} \newcommand{\myLocation}{Höchstadt\xspace}
\newcommand{\myTime}{25. Februar 2024\xspace} \newcommand{\myTime}{21. August 2024\xspace}
\newcommand{\myVersion}{version 1.0\xspace} \newcommand{\myVersion}{version 1.0\xspace}
% **************************************************************************************************** % ****************************************************************************************************

Binary file not shown.

View file

@ -64,7 +64,7 @@
\node (JPA) [block,below of=EJB] {Java Persistance API}; \node (JPA) [block,below of=EJB] {Java Persistance API};
\node (openJPA) [block, below of=JPA] {OpenJPA Cache}; \node (openJPA) [block, below of=JPA] {OpenJPA Cache};
\node (fitGlassfish) [rounded corners,fit=(JSF) (EJB) (JPA) (openJPA)] {}; \node (fitGlassfish) [rounded corners,fit=(JSF) (EJB) (JPA) (openJPA)] {};
\node [left] at (fitGlassfish.west) {Glassfish}; \node [left] at (fitGlassfish.west) [text width=1.5cm] {Glassfish/ Payara};
\node (memoryBuffers) [block, below of=openJPA] {Memory Buffers}; \node (memoryBuffers) [block, below of=openJPA] {Memory Buffers};
\node (services) [block, right of=memoryBuffers, xshift=2cm] {Services}; \node (services) [block, right of=memoryBuffers, xshift=2cm] {Services};
@ -92,22 +92,212 @@
\section{Untersuchungen} \section{Untersuchungen}
\begin{frame} \begin{frame}
\frametitle{Allgemein} \frametitle{Allgemein}
--- Untersuchung vorher --- \begin{itemize}
\item Verwendung von Docker, zur Performance-Limitierung
\item Eigene Container für die Datenbank und den Webserver
\item Für die Untersuchung wird nur die Dokumentenliste beobachtet
\item OutOfMemory-Ausnahme ausgelöst nach dem vierten Script Aufruf ($\sim$40 Webseitenaufrufe)
\item Vor jeder Messung werden die Container neugestartet und die Startroutinen abgewartet
\end{itemize}
\end{frame}
\subsection{Ohne Cache}
\begin{frame}
\frametitle{Ohne Cache}
\begin{columns}
\onslide<2->{
\column{0.5\textwidth}
\begin{itemize}
\item Auffälliger Speicheranstieg, trotz deaktiviertem Cache
\item Gleichmässige Anzahl an Datenbankabfragen
\item Gleichmässige Laufzeit der Datenbankabfragen
\item Laufzeitanteil der Datenbankabfragen unter 10\%
\end{itemize}
}
\onslide<1->{
\column{0.5\textwidth}
\begin{table}[h!]
\centering
\resizebox{\textwidth}{!}{ \begin{tabular}{r|r|r|r|r|r|r|r|r}
& \multicolumn{3}{c|}{Aufrufzeit (ms)} & \multicolumn{2}{c|}{Datenbankabfragen} & \multicolumn{3}{c}{Speicherverbrauch (MB)} \\
\# & min & avg & max & \#-avg & avg (ms) & davor & danach & diff \\
\hline
\hline
1 & 360 & 623 & 2079 & 1224.0 & 30.3 & 872.8 & 914.1 & 41.3 \\ % 12240 - 303 ms (135+ 79+ 39+ 22+17+11) (#2-6,8)
2 & 331 & 372 & 430 & 1208.0 & 31.2 & 914.5 & 1008.0 & 93.5 \\ % 24320 - 615 ms (270+156+ 78+ 56+34+21) (#2-7)
3 & 291 & 428 & 815 & 1208.0 & 33.5 & 1030.0 & 1297.0 & 267.0 \\ % 36400 - 950 ms (406+256+118+ 79+55+36) (#2-7)
\textbf{4} & 288 & 357 & 433 & 1208.0 & 33.7 & 1299.0 & 1461.0 & 162.0 \\ % 48480 - 1287 ms (564+334+167+105+72+45) (#2-7)
5 & 294 & 404 & 499 & 1208.0 & 32.9 & 1462.0 & 1638.0 & 176.0 \\ % 60560 - 1616 ms (699+428+210+128+92+59) (#2-7)
\end{tabular} }
\caption{Messung ohne Caches}
\end{table}
}
\end{columns}
\end{frame} \end{frame}
% Hier 2-3 der aktuellen erarbeiten Ansätze Vorstellen und nach dem Warum fragen % Hier 2-3 der aktuellen erarbeiten Ansätze Vorstellen und nach dem Warum fragen
% Genau beschreiben was Signifikant besser/schlechter ist % Genau beschreiben was Signifikant besser/schlechter ist
\subsection{OpenJPA-Cache}
\begin{frame} \begin{frame}
\frametitle{Caching mit OpenJPA} \frametitle{Caching mit OpenJPA}
--- OpenJPA --- \begin{columns}
\onslide<2->{
\column{0.5\textwidth}
\begin{itemize}
\item Erwartete Reduzierung der Datenbankabfragen
\item Laufzeit in der Datenbank halbiert sich nicht, trotz halbierter Abfragen
\item Speicheranstieg wurde reduziert
\end{itemize}
}
\onslide<1->{
\column{0.5\textwidth}
\begin{table}[h!]
\small
\centering
\resizebox{\textwidth}{!}{ \begin{tabular}{r|r|r|r|r|r|r|r|r}
& \multicolumn{3}{c|}{Aufrufzeit (ms)} & \multicolumn{2}{c|}{Datenbankabfragen} & \multicolumn{3}{c}{Speicherverbrauch (MB)} \\
\# & min & avg & max & \#-avg & avg (ms) & davor & danach & diff \\
\hline
\hline
ref-4 & 288 & 357 & 433 & 1208.0 & 33.7 & 1299.0 & 1461.0 & 162.0 \\ % 48480 - 1287 ms (564+334+167+105+72+45) (#2-7)
\hline
\hline
1 & 338 & 567 & 1853 & 741.8 & 28.8 & 874.8 & 923.5 & 48.7 \\ % 7418 - 288 ms (145+ 42+ 40+ 24+18+ 8+ 7+ 4) (#2-8,12)
2 & 235 & 290 & 460 & 685.2 & 25.8 & 923.5 & 926.4 & 2.9 \\ % 14270 - 546 ms (282+ 81+ 70+ 47+33+14+11+ 8) (#2-9)
3 & 225 & 254 & 313 & 683.6 & 27.6 & 927.4 & 1018.0 & 90.6 \\ % 21106 - 822 ms (430+120+ 99+ 77+49+20+16+11) (#2-9)
4 & 235 & 289 & 403 & 683.9 & 27.6 & 1018.0 & 1018.0 & 0.0 \\ % 27945 - 1098 ms (569+160+137+ 99+68+26+22+17) (#2-9)
5 & 193 & 265 & 359 & 687.9 & 27.6 & 1025.0 & 1140.0 & 115.0 \\ % 34824 - 1374 ms (704+202+171+128+86+34+27+22) (#2-9)
\hline
\hline
1 & 151 & 368 & 1904 & 142.2 & 20.8 & 878.1 & 919.9 & 41.8 \\ % 1422 - 208 ms (133+ 40+ 23+9+2+1) (#2,4-6,10,12)
2 & 133 & 143 & 159 & 6.0 & 20.5 & 919.8 & 921.0 & 1.2 \\ % 1482 - 413 ms (274+ 80+ 47+9+2+1) (#2-3,5,6,10,12)
3 & 120 & 126 & 132 & 6.0 & 19.9 & 922.8 & 924.1 & 1.3 \\ % 1542 - 612 ms (412+119+ 69+9+2+1) (#2,3,5,6,10,12)
4 & 120 & 124 & 128 & 6.0 & 21.4 & 924.1 & 925.4 & 1.3 \\ % 1602 - 826 ms (550+168+ 96+9+2+1) (#2-4,6,10,12)
5 & 109 & 114 & 131 & 6.0 & 19.7 & 926.1 & 926.8 & 0.7 \\ % 1662 - 1023 ms (683+209+119+9+2+1) (#2-4,6,10,12)
\end{tabular} }
\caption{Messung mit OpenJPA-Cache und Größe auf 1000 bzw. 10000}
\end{table}
}
\end{columns}
\end{frame} \end{frame}
\subsection{Materialized View}
\begin{frame} \begin{frame}
\frametitle{Abfragen über materialized views} \frametitle{Abfragen über materialized views}
\begin{columns}
\onslide<2->{
\column{0.5\textwidth}
\begin{itemize}
\item Deutliche Reduzierung der Datenbankabfragen und \=laufzeiten
\item Unter-Abfragen werden als Json-Objekte direkt hinterlegt
\item Teuer beim erstellen, aber selten notwendig
\item Geringe Schwankung der Aufrufzeiten
\item Anteil der Datenbank nochmals reduziert
\end{itemize}
}
\onslide<1->{
\column{0.5\textwidth}
\begin{table}
\centering
\resizebox{\textwidth}{!}{ \begin{tabular}{r|r|r|r|r|r|r|r|r}
& \multicolumn{3}{c|}{Aufrufzeit (ms)} & \multicolumn{2}{c|}{Datenbankabfragen} & \multicolumn{3}{c}{Speicherverbrauch (MB)} \\
\# & min & avg & max & \#-avg & avg (ms) & davor & danach & diff \\
\hline
\hline
ref & 288 & 357 & 433 & 1208.0 & 33.7 & 1299.0 & 1461.0 & 162.0 \\ % 48480 - 1287 ms (564+334+167+105+72+45) (#2-7)
\hline
\hline
1 & 203 & 315 & 808 & 17.8 & 3.0 & 851.4 & 883.9 & 32.5 \\ % 178 - 30 ms (19+11+0) (#2,4,8)
2 & 154 & 172 & 187 & 9.0 & 2.2 & 883.2 & 887.0 & 3.8 \\ % 268 - 52 ms (33+18+1) (#2,3,8)
3 & 145 & 151 & 163 & 9.0 & 2.8 & 887.7 & 895.3 & 7.6 \\ % 358 - 80 ms (52+27+1) (#2,3,8)
4 & 132 & 143 & 152 & 9.0 & 2.8 & 896.0 & 900.0 & 4.0 \\ % 448 - 108 ms (70+37+1) (#2,3,8)
5 & 121 & 125 & 132 & 9.0 & 2.4 & 900.6 & 901.0 & 0.4 \\ % 538 - 132 ms (85+46+1) (#2,3,8)
\end{tabular} }
\caption{Messung mit Materialized View}
\end{table}
}
\end{columns}
\end{frame} \end{frame}
%% -- SLIDE -- REFERENCES \section{Vergleich}
\begin{frame}
\frametitle{Vergleich}
\begin{columns}
\column{0.3\textwidth}
\centering
\begin{tikzpicture}[scale=.4]
\centering
\begin{axis}[
title={Laufzeitvergleich Webseitenaufrufe},
%width=\textwidth,height=\textheight,
xlabel={Aufruf},
ylabel={Laufzeit [ms]},
enlargelimits=0.05,
ymin=0, ymax=2100,
xtick={0,1,2,3,4,5}, %Ticks explizit angeben, dass bei grpßerer Darstellung nicht Zwischenticks existieren
ytick={0,500,1000,1500,2000,2500},
legend pos=north east,
ymajorgrids=true,
grid style=dashed,
]
\addplot coordinates { (0,2079)(1,623)(2,372)(3,428)(4,357)(5,404) };
\addplot coordinates { (0,1853) (1,567)(2,290)(3,254)(4,289)(5,265)};
\addplot coordinates { (0,1904) (1,143)(2,126)(3,126)(4,124)(5,114)};
\addplot coordinates { (0,808) (1,315)(2,172)(3,151)(4,143)(5,125)};
\legend{Ohne Cache,OpenJPA Cache,OpenJPA Cache groß,Materialized View}
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}[scale=.4]
\centering
\begin{axis}[
title={Laufzeitvergleich Datenbankabfragen},
%width=\textwidth,height=\textheight,
xlabel={Aufruf},
ylabel={Laufzeit [ms]},
enlargelimits=0.05,
ymin=0, ymax=60,
xtick={1,2,3,4,5}, %Ticks explizit angeben, dass bei grpßerer Darstellung nicht Zwischenticks existieren
legend pos=north east,
ymajorgrids=true,
grid style=dashed,
]
\addplot coordinates { (1,30.3)(2,31.5)(3,33.5)(4,33.7)(5,32.9) };
\addplot coordinates { (1,28.8)(2,25.8)(3,27.6)(4,27.6)(5,27.6) };
\addplot coordinates { (1,20.8)(2,20.5)(3,19.9)(4,21.4)(5,19.7) };
\addplot coordinates { (1,3.0)(2,2.2)(3,2.8)(4,2.8)(5,2.4) };
\legend{Ohne Cache,OpenJPA Cache,OpenJPA Cache groß,Materialized View}
\end{axis}
\end{tikzpicture}
\pause
\column{0.7\textwidth}
\begin{itemize}
\item Keine Start-Phase auf der Datenbank zu erkennen
\item Die Datenbankabfragen nehmen den kleinsten Teil der Laufzeit ein
\item Materialized View geringste Datenbankabfragezeiten, aber nicht schneller als großen OpenJPA-Cache
\end{itemize}
\pause
\begin{block}{Zusammenfassung}
Dies zeigt, die größten Optimierspotenziale sind in der Anwendung versteckt
\end{block}
\end{columns}
\end{frame}
% -- SLIDE -- REFERENCES
% hier alle Keys aus der BIB einfügen, die mit dargestellt werden sollen % hier alle Keys aus der BIB einfügen, die mit dargestellt werden sollen
\nocite{IbmOpenJPACaching2023,PostgresPro:Chap20.4:2023} \nocite{IbmOpenJPACaching2023,PostgresPro:Chap20.4:2023}
% Für mehreren Seite bei den Referenzen ein ",allowframebreaks" in den [] hinzufügen % Für mehreren Seite bei den Referenzen ein ",allowframebreaks" in den [] hinzufügen

Binary file not shown.

View file

@ -14,7 +14,7 @@
\input{marco-galster-config} \input{marco-galster-config}
\input{classicthesis-config} \input{classicthesis-config}
\renewcommand{\myThesisType}{Bachelorarbeit\xspace} \renewcommand{\myThesisType}{Bachelorarbeit\xspace}
\renewcommand{\myTime}{22. Juli 2024\xspace} %\renewcommand{\myTime}{22. Juli 2024\xspace}
\renewcommand{\myVersion}{version 1.0\xspace} \renewcommand{\myVersion}{version 1.0\xspace}
% https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings % https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings