Mittwoch, 24. September 2008

Performanceengpässe und Antwortzeiten


Performanceengpässe werden in der Mehrzahl der Fälle an der Ant-
wortzeit fest gemacht.


Im Allgemeinen wird unter Antwortzeit die Latenz zwischen dem Ab-
senden eines Requests durch den User und der Reaktion durch das
Anwendungssystem verstanden. Dies ist die abstrakte Antwortzeit aus
Usersicht. Auf technischer Ebene muss diese Zeitspanne als Summe
mehrerer Teilkomponenten betrachtet werden:




Programmzeit Client
+ Netztransfer zur DB
+ Datenbankzeit
+ Netztransfer zum Client
+ Programmzeit Client
---------------------------------
= Antwortzeit User




Oftmals wird die Datenbank zu Unrecht für unbefriedigende Antwortzei-
ten verantwortlich gemacht. Punktuelle Netzüberlastung und langwieri-
ge Folgeaktionen im Client-Programm (z. B. Umsetzen der Ergebnis-
menge in eine GUI-Darstellung) gehen in die Antwortzeit ein, sind je-
doch mit den Mitteln der Datenbankoptimierung nicht beeinflussbar.
Zur Gewinnung exakter Angaben über die Laufzeiten von Statements
sollten deshalb alle anderen Teilkomponenten ausgeschlossen werden.
Zeitmessungen innerhalb des SQL-Optimierung erfolgen idealerweise
direkt auf dem Datenbankserver.



Das Messen und Dokumentieren der Antwortzeiten ist wesentlich für
ein qualifiziertes Vorgehen bei der Optimierung. Für jeden DBA oder
Entwickler ist es frustrierend, sich mit der „gefühlten“ Antwortzeit der
Enduser („ist irgendwie langsam“, „könnte manchmal schneller sein“)
auseinanderzusetzen.

Keine Kommentare: