Daily CheckIn
This commit is contained in:
parent
91c76b74b9
commit
f028148892
5 changed files with 107 additions and 9 deletions
|
@ -84,8 +84,8 @@ hostname="http://localhost:8080/WedekindJSF-1.0.0"
|
|||
# the Array of the Urls
|
||||
url_arr=(
|
||||
"$hostname/index.xhtml"
|
||||
#"$hostname/view/document/list.xhtml"
|
||||
"$hostname/view/document/list_mv.xhtml"
|
||||
"$hostname/view/document/list.xhtml"
|
||||
#"$hostname/view/document/list_mv.xhtml"
|
||||
#"$hostname/view/correspondent/list.xhtml"
|
||||
#"$hostname/view/person/list.xhtml"
|
||||
)
|
||||
|
|
|
@ -309,9 +309,39 @@ in den Java-Objekten fast identisch sind. Und in der Datenbank sind die Anfragen
|
|||
\subsection{cached queries}
|
||||
\label{sec:performance-checking:investigation-application:cached-query}
|
||||
|
||||
Über die Einstellung \textit{openjpa.jdbc.QuerySQLCache} wird der Cache aktiviert. Hierbei können Abfragen angeben
|
||||
werden, die aus dem Cache ausgeschlossen werden. Der QueryCache wiederrum beachtet aber nur Abfragen die keine
|
||||
Parameter verwenden. Das sieht man auch entsprechend der Auswertung der Aufrufe \ref{tbl:measure-cached-queries},
|
||||
dass hier keine Veränderung der Aufrufzeiten stattgefunden hat. Gleich ob man mit \ac{JPQL} oder mit der Criteria API
|
||||
abfragt.
|
||||
|
||||
\begin{table}[h!]
|
||||
\centering
|
||||
\begin{tabular}{|r|r|r|r|r|r|r|r|}
|
||||
\hline
|
||||
& \multicolumn{3}{|c|}{Aufrufzeit} & & \multicolumn{3}{|c|}{RSS} \\
|
||||
\hline
|
||||
\# & min & avg & max & Queries & davor & danach & diff \\
|
||||
\hline
|
||||
1 & 391 & 593 & 1533 & 12256 & 843.63 & 1009.79 & 116.16 \\
|
||||
2 & 281 & 365 & 584 & 12080 & 996.28 & 1114.60 & 118.32 \\
|
||||
3 & 295 & 353 & 464 & 12080 & 1103.30 & 1201.47 & 98.17 \\
|
||||
4 & 280 & 292 & 324 & 12080 & 1191.56 & 1298.46 & 106.90 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Messung mit aktiviertem Cached Queries}
|
||||
\label{tbl:measure-cached-queries}
|
||||
\end{table}
|
||||
|
||||
\subsection{Umgestalten der Datenbanktabellen}
|
||||
\label{sec:performance-checking:investigation-application:new-table}
|
||||
|
||||
\subsection{Verkleinerung der Abfragen}
|
||||
\label{sec:performance-checking:investigation-application:smaller-query}
|
||||
|
||||
\subsection{Statische Webseiten}
|
||||
\label{sec:performance-checking:investigation-application:static-website}
|
||||
|
||||
Wenn man die Dokumentenliste als statische Webseiten ablegt, werden die Zugriffszeiten sehr kurz sein. Darüber hinaus
|
||||
funktionieren in statische Webseiten aber keine Suche oder eine Sortierung. Sonst müsste man für jede mögliche
|
||||
Sortierung und Suchanfrage einen Satz der Dokumentenliste als statische Webseite bereitstellen.
|
Binary file not shown.
|
@ -13,8 +13,8 @@
|
|||
\title{\myTitle}
|
||||
%\subtitle{}
|
||||
\author[M. Galster]{\myName}
|
||||
\footlinetext{\insertshortauthor \hspace{4em} \inserttitle}
|
||||
\institute{University~of~Hagen,~Germany}
|
||||
\footlinetext{\insertshortauthor \hspace{4em} Multi-Layer Optimization Strategies for Enhanced Performance in Digital Editions}
|
||||
\institute{Universität~in~Hagen,~Deutschland}
|
||||
\date{\myTime}
|
||||
|
||||
\begin{document}
|
||||
|
@ -44,17 +44,85 @@
|
|||
\end{frame}
|
||||
|
||||
% -- SLIDES --
|
||||
\section{Ausgangsproblem}
|
||||
\section{Aufbau}
|
||||
\begin{frame}
|
||||
\frametitle{Ausgangsproblem}
|
||||
\frametitle{Schichten}
|
||||
|
||||
Anzeige der Schichten des Systems
|
||||
\begin{figure}[centered]
|
||||
\begin{tikzpicture}[scale=.6,transform shape,node distance=4em,
|
||||
block/.style={rectangle, rounded corners,minimum width=3cm,minimum height=.5cm,text centered, draw=black,fill=green!30},
|
||||
lineArrow/.style={arrows={-Latex[length=5pt 3 0]}},
|
||||
every fit/.style={inner sep=.4em,draw}
|
||||
]
|
||||
%https://docs.oracle.com/javaee/6/tutorial/doc/bnacj.html
|
||||
\node (browser) [block] {WebBrowser};
|
||||
\node (fitClient) [rounded corners,fit=(browser)] {};
|
||||
\node [left] at (fitClient.west) {Client};
|
||||
|
||||
\node (JSF) [block,below of=browser,node distance=5em] {Java Server Faces};
|
||||
\node (EJB) [block,below of=JSF] {Enterprise Java Beans};
|
||||
\node (JPA) [block,below of=EJB] {Java Persistance API};
|
||||
\node (openJPA) [block, below of=JPA] {OpenJPA Cache};
|
||||
\node (fitGlassfish) [rounded corners,fit=(JSF) (EJB) (JPA) (openJPA)] {};
|
||||
\node [left] at (fitGlassfish.west) {Glassfish};
|
||||
|
||||
\node (memoryBuffers) [block, below of=openJPA] {Memory Buffers};
|
||||
\node (services) [block, right of=memoryBuffers, xshift=2cm] {Services};
|
||||
\node (database) [block, below of=memoryBuffers] {Database};
|
||||
\node (fitPostgreSQL) [rounded corners,fit=(memoryBuffers) (services) (database)] {};
|
||||
\node [left] at (fitPostgreSQL.west) {PostgreSQL};
|
||||
|
||||
\node (fitServer) [rounded corners,fit=(fitGlassfish) (fitPostgreSQL),inner xsep=3em] {};
|
||||
\node [left] at (fitServer.west) {Server};
|
||||
|
||||
\draw[lineArrow] (browser)--(JSF);
|
||||
\draw[lineArrow] (JSF)--(EJB);
|
||||
\draw[lineArrow] (EJB)--(JPA);
|
||||
\draw[lineArrow] (JPA)--(openJPA);
|
||||
\draw[lineArrow] (openJPA)--(memoryBuffers);
|
||||
\draw[lineArrow] (memoryBuffers)--(database);
|
||||
\draw[lineArrow] (services)|-(database);
|
||||
\end{tikzpicture}
|
||||
%\caption{Ablauf einer Web-Anfrage}
|
||||
\label{fig:webrequest}
|
||||
\end{figure}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\section{Untersuchungen}
|
||||
\begin{frame}
|
||||
\frametitle{Allgemein}
|
||||
--- Untersuchung vorher ---
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
Definieren der Optimierungsansätze
|
||||
\frametitle{Caching mit OpenJPA}
|
||||
--- OpenJPA ---
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Caching in JPA}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Caching in EJB}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Abfragen mit JPQL}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Abfragen mit Criteria API}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Abfragen über materialized views}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Cached Queries}
|
||||
\end{frame}
|
||||
|
||||
%% -- SLIDE -- REFERENCES
|
||||
% hier alle Keys aus der BIB einfügen, die mit dargestellt werden sollen
|
||||
|
|
BIN
thesis.pdf
BIN
thesis.pdf
Binary file not shown.
Loading…
Reference in a new issue