I/O Input – Output – Wichtige Storage Kennzahlen und Begriffe
SQL Server muss seine Daten in den zur Datenbank gehörenden Dateien speichern.
Diese befinden sich auf entsprechenden Datenträgern auch Storage System genannt. Jeder kann sich ausmalen, das wenn SQL Server die Daten auf weniger performanten Datenträgern speichert, dies ebenfalls die Leistung von SQL Server negativ beeinflusst.
Wenn SQL Server Daten aus den Datendateien in den Buffer Cache (Der Bereich wo die 8KB Datenseiten im RAM liegen und verwaltet werden) nachladen muss, da eine Abfrage diese Daten anfordert, ist die Abfrage umso schneller wenn die Platte eine entsprechende Leistung besitzt. Wenn SQL Server Daten aus den zugehörigen Datenseiten nachladen muss, spricht man von einem sogenannten physischen Lesevorgang (physical read).
Physische Lesevorgänge sollten grundsätzlich vermieden werden, da SQL Server idealerweise die benötigten Datenseiten schon im Buffer Cache findet und diese direkt lesen kann (logischer Lesevorgang/logical Read). Logische Lesevorgänge sind extrem schneller als physische Lesevorgänge.
Es ist allerdings unvermeidlich, dass Daten mittels physischen Lesevorgang hier und da nachgeladen werden müssen. Ganz besonders dann, wenn für den Buffer Cache nicht genügend RAM zur Verfügung steht.
Ziel einer Optimierung eines Datenbanksystems wie SQL Server, sollte es unbedingt sein, die physischen Lesevorgänge zu vermeiden. Wenn sie aber dennoch auftreten wird ein schnelles Speichermedium mit bester Performance benötigt.
Um die Leistung der Speicherumgebung/Festplatten/Storage zu messen oder besser um bei Datenträgern die entsprechende Leistung benennen zu können gibt es unterschiedlichste Angaben.
Im folgenden werden diese Werte/Begriffe um die Leistungsfähigkeit von Festplatten angeben zu können erläutert:
IOPS (Input Output Operations per Second) ist eine solche Angabe und steht für die Eingabe und Ausgabevorgänge die pro Sekunde mit einem Datenträger möglich sind.
Wie viele physische Transfers sind mit dem Datenträger (HDD, SSD, SAN) pro Sekunde möglich?
Hierbei wird der IOPS Wert in die sogenannten sequentiellen und in die Random Zugriffe unterschieden. Allgemein kann man sagen, je höher der Wert umso besser.
IOPS können Sie messen, indem Sie die Leistungsindikatoren physische oder logische Disk Reads/Sekunde oder Writes/Sekunde des Performancemonitor’s (perfmon.exe) auslesen.
Vorauseilendes Lesen / Read Ahead
SQL Server bedient sich eines Mechanismus indem er versucht vorausschauend Datenseiten zu laden die als nächstes benötigt werden würden. Wenn diese Datenseiten dann auch wirklich benötigt werden erhöht dies die Abfrageleistung des Systems bzw. ganz konkret der jeweiligen Abfrage.
Diese Form des Lesens wird als Read Ahaed bezeichnet.
Durchsatz / Througput
Der Durchsatz oder englisch Throuput eines Datenträgers, errechnet sich aus den übertragenen Bytes/Sekunde. Anders ausgedrückt, die Menge die ein Datenträger in einer Sekunde transferieren kann.
Burst Durchsatz
Menge bei kurzzeitigen Ausbrüchen also Spitzenbelastungen.
Sustained Durchsatz
Ausdauerndes Verhalten = wichtig für SQL Server Systeme wo Dten größer als der Cache sind
Auch diese Werte können durch Auslesen der Leistungsindikatoren phys.oder logical Disk Read oder Write Bytes /Sekunde ermittelt werden.
Latency Factor
Wie schnell kann ein Datenträger eine Schreib- oder Leseoperation abschließen. En niedriger Wert ist wünschenswert.
Festplattentypen werden mit unterschiedlichsten Abkürzungen klassifiziert.
HDD = Hard Disk Drive
SSD = Solid State Disk
SAN = Storage Area Network
Wie Sie sehen, ist es definitiv notwendig, schon bei der Planung eines SQL Server Systems diese Überlegungen bzgl. der einzusetzenden Storageumgebung zu berücksichtigen. Aber auch bei der Optimierung eines an Performanceproblemen leidenden Systems spielen diese Faktoren eine wichtige Rolle.
sqlXpert bietet Ihnen eine Reihe von Lösungen bei der Planung und Optimierung Ihrer Datenbanksysteme:
SQLWatch = Unser Performancetool zur Analyse Ihrer SQL Server Systeme mit automatischer Analysefunktion und Erstellung eines Analyseberichts.
SQL Server Performance Pack = Analyse Auswertung und Optimierungsstrategien zusammen mit unserem Performance Team
sqlXpert Performance Skripte = professionelle Skriptsammlung zur Optimierung und Analyse von SQL Server
oder brauchen Sie einen persönlichen Xpertenrat?