Minimieren des E/A-Konkurrenzbetriebs in Informix
Den Eingabe/Ausgabe-Konkurrenzbetrieb für eine IBM Informix-Datenbank können Sie eigentlich nur auf zwei Arten reduzieren: Erwerben Sie schnellere Festplatten und Controller, oder gleichen Sie die Eingabe/Ausgabe im gesamten Dateisystem aus. Verteilen Sie hierzu Dateien mit einer hohen Eingabe/Ausgabe-Häufigkeit mit Dateien, die keine hohe Eingabe/Ausgabe-Häufigkeit aufweisen.
-
Richten Sie temporäre dbspaces ein.
Informix verwendet standardmäßig den Root-dbspace, wenn temporärer Speicher für die Sortierung erforderlich ist. Die Erstellung eines großen Indexes, z. B. eines R-Baum-Indexes, kann den Root-dbspace vollständig belegen. Diese vollständige Belegung führt zu einem Serverausfall. Falls Daten mit ArcGIS for Desktop geladen werden, schlägt die Erstellung des R-Baum-Indexes (der letzte Schritt beim Laden von Daten) fehl, und der geladene Layer bleibt im Nur-Lade-E/A-Modus. Verwenden Sie anfänglich mindestens zwei dbspaces mit insgesamt 300 MB. Fügen Sie dann entsprechend Chunks hinzu. Stellen Sie dabei sicher, dass sich diese Chunks über unterschiedliche Festplatten erstrecken.
-
Erstellen Sie den Speicherplatz für die Smart Large Objects, und legen Sie eine geeignete Größe dafür fest.
Im Spatial DataBlade-Modul werden Werte von Offline-Geometrie gespeichert, die größer oder gleich 930 Byte sind. Diese Werte werden in einem zugewiesenen Smart Large Object gespeichert. Beim Schreiben von Geometrien in ein Smart Large Object wird auf die Geometrie mit einem Inline-Zeiger, der 64 Byte groß ist, verwiesen. Auf Windows-Plattformen werden der standardmäßige sbspace und syssbspace (in der Datei "onconfig") während der Installation des Servers erstellt. Sie können diesem standardmäßigen sbspace zusätzliche sbspace-Chunks hinzufügen oder zusätzliche sbspaces erstellen. Hierauf können Sie über die Datei "%SDEHOME%\etc\dbtune.sde" zugreifen. Auf UNIX-Plattformen muss ein sbspace erstellt werden. Erstellen Sie das Gerät für diesen sbspace. Erstellen Sie dann mit dem Dienstprogramm "onspaces" den sbspace, und legen Sie in der Datei "onconfig" für den Parameter SBSPACENAME des standardmäßigen Smart Large Objects den erstellten sbspace fest. Starten Sie dann den Informix-Server neu.
-
Platzieren Sie häufig verwendete Tabellen in die mittleren Partitionen einer Festplatte, um Bewegungen des Festplattenkopfes zu minimieren.
Das Platzieren von häufig verwendeten Tabellen in die mittleren Partitionen einer Festplatte reduziert die Bewegungen des Festplattenkopfes. Nach dem Gesetz der Wahrscheinlichkeit werden durch das Anordnen der Daten in einer Weise, dass der Festplattenkopf die meiste Zeit in der mittleren Partition verbringt, Bewegungen reduziert. Im Konfigurationshandbuch Ihres Betriebssystems finden Sie Beschreibungen zum Partitionieren der Festplatten. Weisen Sie der Partition einen einzelnen Chunk zu, und ordnen Sie ihr den dpspace der häufig verwendeten Tabellen zu.
-
Gruppieren Sie kleinere Tabellen nach Verwendung in dbspaces zusammen.
Die Erstellung eines separaten dbspaces für jede Tabelle in Ihrer Datenbank ist unrealistisch. Jeder dbspace verursacht zusätzliche Kosten. Außerdem ist es mühselig, viele dbspaces zu verwalten. Gruppieren Sie kleinere Tabellen in einen einzelnen dbspace. Sie sollten die zugehörigen Indizes auch in einem anderen dbspace gruppieren, damit sie auf einer separaten Festplatte platziert werden können. Das Gruppieren der kleineren Tabellen nach Verwendung in separaten dbspaces ermöglicht Ihnen, die kleineren häufig verwendeten Tabellen in die mittleren Partitionen zu platzieren.
-
Optimieren Sie Ausdehnungsgrößen.
Das Schätzen der Größe Ihrer Tabellen und Indizes ermöglicht Ihnen, die Anfangsausdehnung für das gesamte Datenobjekt zu reservieren. Bei Datenobjekten, die im gleichen dbspace gruppiert sind, wird dadurch verhindert, dass deren Extents überlappen. Überlappte Extents können die Performance reduzieren, wenn der Festplattenkopf über die Extents anderer Tabellen suchen muss.
-
Ordnen Sie großen Tabellen einzelne dbspaces zu.
Große Tabellen sollten eigene dbspaces haben. Dies gibt Ihnen die Möglichkeit, diese Tabellen im gesamten Dateisystem einfach zu verschieben. Einige Tabellen sind eventuell so groß, dass der ihnen zugeordnete dbspace mehrere Chunks erforderlich macht. Wenn dies der Fall ist, sollten Sie die Chunks auf unterschiedliche Festplatten verteilen und die Controller trennen, falls möglich. Hierdurch ist der Mehrfachzugriff auf Daten der gleichen Tabelle möglich. Außerdem wird die Gesamtsuchzeit reduziert.
-
Legen Sie die Größe von Protokolldateien und Protokolldateipuffern angemessen fest.
Von der Größe der Puffer für logische und physische Protokolldateien hängt ab, wie oft der Pufferinhalt auf die Festplatte geschrieben werden muss. Die Größe der logischen Protokolle kann sich darauf auswirken, wie oft Sie Sicherungskopien von den Protokolldateien erstellen müssen. Weitere Informationen über Protokolldatei-Einstellungen finden Sie unter Informix-Initialisierungsparameter.