Aktueller Forschungsstand - PostgreSQL Admin
This commit is contained in:
parent
02ba28256f
commit
93ffa88aa6
6 changed files with 50 additions and 1 deletions
|
@ -55,6 +55,41 @@ Hierbei ist auch ein Vergleich mit anderen Technologien angedacht.
|
|||
|
||||
% Aktell 3546-1.pdf Page 404
|
||||
|
||||
Die Speicherveraltung des PostgreSQL-Server muss für Produktivsysteme angepasst werden \citep[34-38]{Eisentraut2013}.
|
||||
Hierunter fallen die \textbf{shared\_buffers} die bei
|
||||
ca. 10 bis 25 Prozent des verfügbaren Arbeitsspeichers liegen sollte, mit dieser wird das häufige schreiben des Buffers durch Änderung
|
||||
von Daten und Indexen auf die Festplatte reduziert.
|
||||
Die Einstellung \textbf{temp\_buffers} die definiert wie groß der Speicher für temporäre Tabellen pro Verbindung maximal werden darf, sollte
|
||||
ebenfalls überprüft werden, da ein zu kleiner Wert bei großen temporären Tabellen zu einem signifikanten Leistungseinbruch führt, wenn
|
||||
die Tabellen nicht im Hauptspeichern sondern in einer Datei beareitet werden.
|
||||
Der \textbf{work\_mem} definiert die Obergrenze des zur Verfügung gestellt Hauptspeichers pro Datenbankoperation wie effizientes Sortieren,
|
||||
Verknüpfen oder Filtern. Auch wird im Falle eines zu klein
|
||||
gewählten Speichers auf temporäre Dateien auf der Festplatte ausgewichen, was ebenfalls zu signifikaten Leistungsinbrüchen führt.
|
||||
Die \textbf{maintenance\_work\_mem} wird bei Verwaltungsoperation wie Änderung und Erzeugung von Datenbankobjekten als Obergrenze definiert.
|
||||
Aber auch für die Wartungsaufgaben \textbf{Vacuum}, die fragmentierte Tabellen aufräumt und somit die performance hebt. Welche Regelmässig
|
||||
durchgeführt werden sollte.
|
||||
|
||||
Die Wartung des Datenbanksystemes ist eine der wichtigen Aufgaben und sollte regelmässig durchgeführt werden, damit die Performance des
|
||||
Systems durch die Änderung des Datenbestandes nicht einbricht \citep[75]{Eisentraut2013}. Hierfür gibt es den \textbf{VACUUM}-Befehl, der
|
||||
entweder per Hand oder automatisch durch das Datenbanksystem ausgeführt werden soll.
|
||||
Neben dem aufräumen durch \textbf{VACUUM} sollten auch die Planerstatistiken mit \textbf{ANALYZE} \citep[83]{Eisentraut2013} aktuell
|
||||
gehalten werden. Damit die Anfragen durch den Planer richtig optimiert werden können.
|
||||
Für beide Wartungsaufgaben gibt es den Autovacuum-Dienst. Dieser sollte aktiv und richtig konfiguriert sein.
|
||||
|
||||
Mit dem Tool \textbf{pgFouine} \citep[155]{Eisentraut2013} können die Logs des PostgreeSQL Server im Nachgang analysiert werden und auf
|
||||
Probleme hin untersucht werden. Hiermit kann sehr einfach die häufigsten bzw. langsamsten Anfragen ermittelt werden.
|
||||
|
||||
Für weitere Optimierungen müssen dann die Anfragen einzeln überprüft werden. Hierfür ist es sinnvoll die Ausführungspläne der Abfrage
|
||||
zu analysieren \citep[252]{Eisentraut2013}. Hierbei ist es wichtig die verschiedenen Plantypen und ihre Kosten zu kennen, sowie die
|
||||
angegeben Werte für die Plankosten zu verstehen. Hinzu kommt noch, dass man den tatsächlich ausgeführten Plan mit dem ursprünglichen
|
||||
Plan vergleichen sollte \citep[254]{Eisentraut2013}. Eine er wichtigsten Aussage hierbei ist, ob die Zeilenschätzung akkurat war.
|
||||
Größere Abweichung weißen häufig auf veraltete Statistiken hin.
|
||||
|
||||
|
||||
\citep[60]{MüllerWehr2012}
|
||||
|
||||
% Zum ende noch, warum wird das gemacht? => Weil Datenbank-Definition immer unterschiedlich sind, und die Optimierung an den entsprechenden
|
||||
% Datenbestand angepasst werden muss
|
||||
|
||||
\section{Vorgehen bei der Umsetzung}
|
||||
% Anm: eine mögliche Vorgehensweise. Bei der Beschreibung der Vorgehensweise beziehen Sie sich dann natürlich auf den oben beschrieben Stand in Forschung und Technik
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
\item Einbau von Performancecounter
|
||||
\item Aktivieren von Performancecounter am Postgresql
|
||||
\item Laufzeitanalyse starten
|
||||
\item Befragung der Benutzer und Entwickler
|
||||
\end{enumerate}
|
||||
\item Optimierung
|
||||
\begin{enumerate}
|
||||
|
|
|
@ -75,6 +75,17 @@
|
|||
eprint = {https://www.hanser-elibrary.com/doi/pdf/10.3139/9783446473157}
|
||||
}
|
||||
|
||||
% Buch PostgreSQL - Administration (Hagen Leihe)
|
||||
@book{Eisentraut2013,
|
||||
AUTHOR = {Eisentraut, Peter AND Helmle, Bernd},
|
||||
YEAR = {2013},
|
||||
TITLE = {PostgreSQL-Administration - },
|
||||
EDITION = {},
|
||||
ISBN = {978-3-868-99362-2},
|
||||
PUBLISHER = {O'Reilly Germany},
|
||||
ADDRESS = {Köln},
|
||||
}
|
||||
|
||||
% File: müller-wehr-2012-java-persistence-api-2.pdf / Ehemaliger Link: doi:10.3139/9783446431294
|
||||
@book{MüllerWehr2012,
|
||||
author = {Müller, Bernd and Wehr, Harald},
|
||||
|
@ -92,4 +103,5 @@
|
|||
% - OpenJPA: https://openjpa.apache.org/documentation.html
|
||||
% - IBN OpenJPA Cache: https://www.ibm.com/docs/de/was/8.5.5?topic=applications-configuring-openjpa-caching-improve-performance
|
||||
|
||||
|
||||
% File: postgresql-15-A4.pdf
|
BIN
expose.pdf
BIN
expose.pdf
Binary file not shown.
|
@ -85,6 +85,7 @@
|
|||
|
||||
% Allgemeine Webseite:
|
||||
% https://www.overleaf.com/learn/latex/Bibliography_management_with_natbib
|
||||
% https://postgrespro.com/docs/postgresql/14/runtime-config-resource
|
||||
|
||||
% Frank Wedekind:
|
||||
% https://books.google.de/books?hl=de&lr=&id=3qO8DQAAQBAJ&oi=fnd&pg=PA1&dq=frank+wedekind&ots=S4LHWQ0h2e&sig=Mz8PEGF-md4n3AwH9cgXq-5vUac#v=onepage&q=frank%20wedekind&f=false
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
\newcommand{\myId}{8335710\xspace}
|
||||
\newcommand{\myProf}{Prof. Dr. Uta St\"orl\xspace}
|
||||
\newcommand{\referent}{Referentin\xspace}% Referentin/Referent, depending on the gender of your prof
|
||||
\newcommand{\mySupervisor}{----\xspace}
|
||||
\newcommand{\mySupervisor}{Sebastian Bruchhaus\xspace}
|
||||
\newcommand{\supervisor}{Betreuer\xspace}% Betreuerin/Betreuer, depending on the gender of your supervisor
|
||||
\newcommand{\myFaculty}{Fakult\"at f\"ur Mathematik und Informatik\xspace}
|
||||
\newcommand{\myUni}{FernUniversit\"at in Hagen\xspace}
|
||||
|
|
Loading…
Reference in a new issue