\chapter{Performance-Untersuchung} \label{ch:performance-checking} \section{Auswertung des Systems} \label{sec:performance-checking:system} \mytodos{Hier die Auswertung des Produktionsservers unterbringen} \section{Statistiken im PostgreSQL auswerten} \label{sec:performance-checking:postgresql-statistics} \mytodos{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} \mytodos{Konfiguration vom Produktionsserver prüfen} \section{Einbau und Aktivieren von Performance-Messung} \label{sec:performance-checking:performance-measure} \mytodos{Einbau der Messungen direkt in die Webseite bzw. in ein Log} \section{Untersuchung der Anwendung} \label{sec:performance-checking:investigation-application} Nun werden die unterschiedlichen Schichten betrachtet und möglichen Performance-Verbesserungen untersucht und deren Vor"= und Nachteile herausgearbeitet. \subsection{Caching im OpenJPA} \label{sec:performance-checking:investigation-application:caching-openjpa} \subsection{Caching im \ac{JPA}} \label{sec:performance-checking:investigation-application:caching-jpa} \subsection{Caching in \ac{EJB}} \label{sec:performance-checking:investigation-application:caching-ejb} \subsection{Abfragen JPQL} \label{sec:performance-checking:investigation-application:query-jpql} \subsection{Abfragen Criteria API} \label{sec:performance-checking:investigation-application:query-criteria-api} \subsection{materialized views} \label{sec:performance-checking:investigation-application:materialized-views} \subsection{cached queries} \label{sec:performance-checking:investigation-application:cached-query} \subsection{Umgestalten der Datenbanktabellen} \label{sec:performance-checking:investigation-application:new-table} \subsection{Verkleinerung der Abfragen} \label{sec:performance-checking:investigation-application:smaller-query}