Daily CheckIn
This commit is contained in:
parent
94e2c44fd1
commit
adb7dc7122
7 changed files with 238 additions and 37 deletions
|
@ -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 ***"
|
||||||
|
|
|
@ -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}
|
||||||
|
|
|
@ -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.
|
@ -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
|
||||||
|
|
BIN
thesis.pdf
BIN
thesis.pdf
Binary file not shown.
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue