| Red Hat Enterprise Linux 4: Einführung in die System-Administration | ||
|---|---|---|
| Zurück | Kapitel 5. Speicher verwalten | Nach vorne |
Die Performance-Besonderheiten der Festplatte wurden bereits im Kapitel Abschnitt 4.2.4 angeschnitten; dieser Abschnitt beschreibt das Thema jetzt tiefergehend. Es ist wichtig für Systemadministratoren zu verstehen, dass ohne zumindest grundlegende Kenntnisse über die Funktionsweise von Festplatten es sogar möglich ist, dass unwissentlich Änderungen an der Systemkonfiguration vorgenommen werden, welche wiederum die gesamte Perfomance negativ beeinflussen könnten.
Die Zeit, die eine Festplatte benötigt eine I/O-Anfrage zu beantworten und abzuschließen, hängt von zwei Dingen ab:
Mechanische und elektrische Einschränkungen der Festplatte
I/O-Last des Systems
In den folgenden Abschnitten werden die Aspekte der Festplatten-Performance tiefergehend beschrieben.
Da Festplatten elektro-mechanische Geräte sind, unterliegen diese bestimmten Einschränkungen in Bezug auf Geschwindigkeit und Performance. Jede I/O-Anfrage erfordert, dass die verschiedenen Komponenten der Festplatte zusammenarbeiten, um diese Anfrage bearbeiten zu können. Da alle diese Komponenten verschiedene Leistungsmerkmale haben, wird die Gesamtleistung der Festplatte durch die Summe der Leistungen der einzelnen Komponenten bestimmt.
Die elektronischen Komponenten sind wesentlich schneller als die Mechanischen. Aus diesem Grund haben die mechanischen Komponenten den größten Einfluss auf die Performance der Festplatte.
![]() | Tipp |
|---|---|
Der effektivste Weg, die Performance der Festplatte zu verbessern, ist die mechanische Aktivität der Festplatte soweit wie möglich zu reduzieren. |
Die durchschnittliche Zugriffszeit einer typischen Festplatte ist rund 8.5 Millisekunden. In den folgenden Abschnitten wird diese Zahl in größerem Detail dargestellt und gezeigt, wie jede Komponente die Gesamt-Performance der Festplatte beeinflussen kann.
Alle modernen Festplatten haben hochentwickelte, eingebettete Computersysteme, die deren Betrieb steuern. Diese Computersysteme führen folgende Aufgaben aus:
Interaktion mit der Außenwelt durch die Schnittstelle der Festplatte
Steuern des Betriebs der restlichen Hardware über die Komponenten der Festplatte, Erholen von jeglichen Fehlerzuständen, die eventuell aufgetreten sind
Verarbeitung der Ursprungsdaten, die vom eigentlichen Speichermedium gelesen und auf dieses geschrieben werden
Auch wenn in Festplatten verwendetee Mikroprozessoren relativ leistungsstark sind, benötigen die ihnen zugewiesenen Aufgaben Zeit zur Bearbeitung. Durchschnittlich liegt diese Zeit bei etwa 0,003 Millisekunden.
Die Lese-/Schreib-Köpfe der Festplatte funktionieren nur, wenn die Festplatten, über denen sie "fliegen", sich drehen. Da Daten durch die Bewegung der Medien unter den Köpfen geschrieben oder gelesen werden, ist die Zeit, die von den Medien, welche die gewünschten Sektoren enthalten, benötigt wird um unter dem Kopf vorbeizufliegen, der einzige Bestimmungsfaktor für den Anteil der Köpfe an der Gesamtzugriffszeit. Dies ist durchschnittlich 0.0086 Millisekunden für eine Festplatte mit 10 000 Umdrehungen/Minute und 700 Sektoren pro Track.
Da sich die die Platten der Festplatte ständig drehen, ist es ziemlich unwahrscheinlich, dass die Platte sich genau am richtigen Punkt befindet, wenn die I/O-Anfrage eingeht, um auf den gewünschten Sektor zuzugreifen. Deshalb ist es, auch wenn die Festplatte bereit ist auf den Sektor zuzugreifen, für alles andere notwendig zu warten während sich die Platte dreht, um den gewünschten Sektor unter dem Lese/Schreib-Kopf zu positionieren.
Aus diesem Grund rotieren Hochleistungs-Festplatten deren Platten in einer höheren Geschwindigkeit. Heutzutage sind Geschwindigkeiten von 15.000 Umdrehungen/Minute für Höchstleistungs-Festplatten reserviert, während 5.400 U/min für einfache Festplatten als ausreichend gesehen werden. Durchschnittlich ergibt dies einen Wert von ungefähr 3 Millisekunden für eine Festplatte mit 10.000 U/min.
Die Komponente einer Festplatte, die als Achillesferse angesehen werden kann, ist der Zugriffsarm. Der Grund dafür ist, dass der Zugriffsarm sich schnell und exakt über relativ weite Entfernungen hinweg bewegen muss. Zusätzlich dazu ist die Bewegung nicht kontinuierlich — der Arm muss beschleunigen, um den gewünschten Zylinder zu erreichen und dann schnell wieder abbremsen, um nicht über das Ziel hinauszuschießen. Daher muss der Arm gleichzeitig kompakt (um den gewaltigen Kräften standzuhalten, die für die Beschleunigung notwenig sind) und leicht (damit weniger Masse beschleunigt/gebremst werden muss) sein.
Das Erreichen dieser wiedersprüchlichen Ziele ist schwierig. Dies wird tatsächlich auch durch die relativ lange Zeit bestätigt, die der Zugriffsarm im Gegensatz zu anderen Komponenten benötigt. Aus diesem Grund ist die Bewegung des Zugriffsarms der Hauptentscheidungsfaktor in puncto Gesamt-Performance der Festplatte, bei einem Durchschnittswert von circa 5,5 Millisekunden.
Der andere Faktor, der die Performance der Festplatte steuert, ist die I/O-Last, der die Festplatte unterliegt. Einige der spezifischen Aspekte der I/O-Last sind:
Menge der gelesenen Daten versus der geschriebenen Daten
Die Anzahl der aktuellen Lese-/Schreibköpfe
Die Lokalität der Lese-/Schreib-Daten
Diese werden in den folgenden Abschnitten genauer beschrieben.
Normale Festplatten mit magnetischen Medien als Datenspeicher sind vom Problem der Lese-Prozesse versus der Schreib-Prozesse weniger betroffen, da das Lesen und Schreiben die gleiche Zeit in Anspruch nimmt[1]. Andere Massenspeichergeräte benötigen jedoch unterschiedlich lange für das Verarbeiten von Lese- und Schreibaufgaben[2].
Dies hat zur Folge, dass Geräte, die länger zur Verarbeitung von Schreib-Aufgaben (zum Beispiel) benötigen, weniger Schreib-Aufgaben als Lese-Aufgaben verarbeiten können. Von einem anderen Gesichtspunkt aus betrachtet, benötigt eine Schreib-I/O mehr der Gerätefähigkeit zum Verarbeiten von I/O-Anfragen als eine Lese-I/O.
Eine Festplatte, die I/O-Anfragen von mehreren Quellen bearbeitet, erfährt eine andere Last als eine Festplatte, die nur Anfragen von einer Quelle verarbeitet. Der Hauptgrund dafür liegt in der Tatsache, dass mehrere I/O-Requester potentiell höhere I/O-Lasten auf einer Festplatte erzeugen als I/O-Anfragen von einer einzigen Quelle.
Dies liegt daran, dass der I/O-Requester einiges an Prozessleistung aufbringen muss, bevor eine I/O stattfinden kann. Schließlich muss der Requester die Art der I/O-Anfrage feststellen, bevor diese durchgeführt werden kann. Da die nötige Verarbeitung für diese Feststellung Zeit in Anspruch nimmt, gibt es eine Obergrenze für die I/O-Last, die ein jeder Requester generieren kann — nur eine schnellere CPU kann diese Grenze erhöhen. Diese Grenze wird eindeutiger, wenn zusätzlich dazu eine menschliche Eingabe verlangt wird.
Mit mehreren Requestern können jedoch höhere I/O-Lasten getragen werden. Solange genügend CPU-Leistung vorhanden ist, um die Verarbeitung zum Generieren der I/O-Anfragen zu unterstützen, erhöht das Hinzufügen von weiteren I/O-Anfragern die I/O-Last.
Es gibt jedoch noch einen weiteren Aspekt, der Einfluss auf die I/O-Last hat. Dieser wird im folgenden Abschnitt beschrieben.
Auch wenn nicht streng an eine Multi-Requester-Umgebung gebunden, zeigt sich doch dieser Aspekt der Festplatten-Performance eher in solchen Umgebungen. Die Kernfrage ist, ob die I/O-Anfragen an eine Festplatte für Daten sind, die physikalisch nahe den anderen Daten liegen, die ebenso angefragt werden.
Der Grund hierfür wird klar, wenn man die elektro-mechanische Natur der Festplatte betrachtet. Die langsamste Komponente jeder Festplatte ist der Zugriffsarm. Wenn also auf Daten der eingehenden I/O-Anfragen zugegriffen wird und dies keine Bewegung des Zugriffsarms erfordert, kann die Festplatte wesentlich mehr I/O-Anfragen bearbeiten, als wenn die Daten über die gesamte Festplatte verteilt sind; was erheblich mehr Bewegungen des Zugriffsarms benötigt.
Dies wird deutlicher, wenn Sie sich die Festplatten-Performance ansehen. Diese Merkmale enthalten häufig 'angrenzende Zylinder'-Suchzeiten (bei denen der Zugriffsarm nur ein klein wenig bewegt wird — nur bis zum nächsten Zylinder) und 'Full-Stroke'-Suchzeiten (bei denen der Zugriffsarm vom ersten Zylinder bis hin zum letzten Zylinder bewegt wird). Hier zum Beispiel finden Sie die Suchzeiten für eine Hochleistungs-Festplatte:
| [1] | Dies ist eigentlich nicht ganz richtig. Alle Festplatten besitzen eine bestimmte Menge an integriertem Cache-Speicher, der für die Verbesserung der Lese-Performance verwendet wird. Auf jede I/O-Anfrage für das Lesen muss jedoch mit dem eigentlichen physikalischen Lesen der Daten vom Speichermedium reagiert werden. Dies bedeutet, dass während der Cache die I/O-Leistungsprobleme ausgleichen kann, es doch niemals die Zeit, die für das physikalische Lesen der Daten benötigt wird, eliminieren kann. |
| [2] | Einige optische Festplatten zeigen dieses Verhalten aufgrund der physikalischen Einschränkungen der Technologien, die für die Implementierung der optischen Datenspeicherung nötig sind. |
| Zurück | Zum Anfang | Nach vorne |
| Schnittstellen der Massenspeichergeräte | Nach oben | Den Speicher nutzbar machen |