Verschiedene Parameter in der Konfigurationsdatei des Datenbankmanagers können zum Optimieren von DB2 Connect verwendet werden. Informationen zum Ändern dieser Parameter finden Sie im Handbuch Systemverwaltung.
Der Parameter RQRIOBLK legt die maximale Größe der Netzwerk-E/A-Blöcke fest. Eine Vergrößerung des Blocks kann die Leistung großer Anforderungen steigern. Die Blockgröße hat normalerweise keine Auswirkungen auf die Antwortzeiten kleiner Anforderungen, z. B. Anforderungen für eine einzige Datenzeile.
Für eine größere Blockgröße ist in der Regel mehr Hauptspeicher auf der DB2 Connect-Workstation erforderlich. Hierdurch wird die Menge der eingelagerten Seiten vergrößert, was in manchen Fällen zu einer erheblichen Zunahme der Seitenwechsel auf kleinen Workstations führen kann.
Der Standardwert für die DRDA-Blockgröße (32767) sollte verwendet werden, wenn er nicht zu viele Seitenwechsel bei der Ausführung der Anwendung verursacht. Andernfalls sollte die E/A-Blockgröße reduziert werden, bis keine Seitenwechsel mehr stattfinden. Sobald Seitenwechsel ausgeführt werden, ist eine deutliche Verschlechterung der Leistung festzustellen. Über Tools zur Leistungsüberwachung (wie 'vmstat' für UNIX-Systeme oder SPM/2 für OS/2) kann festgestellt werden, ob auf dem verwendeten System Seitenwechsel stattfinden. Andere Tools sind im Abschnitt Leistungsanalyseprogramme aufgelistet.
Der Parameter DIR_CACHE legt fest, ob Verzeichnisinformationen in einem Cache zwischengespeichert werden. Wenn Zwischenspeicherung angegeben ist (DIR_CACHE=YES), werden Verzeichnisdateien gelesen und im Hauptspeicher zwischengespeichert, um den Systemaufwand zu verringern, der für das Erstellen der internen Verzeichnisstruktur und das Lesen der Verzeichnisdateien bei jedem Herstellen einer Verbindung erforderlich ist.
Ohne Zwischenspeicherung (DIR_CACHE=NO) wird bei jedem Herstellen einer Verbindung zu einer Datenbank das entsprechende Verzeichnis von einer Platte gelesen und anschließend die Suche ausgeführt. Nachdem die angeforderten Einträge gefunden wurden, werden alle für die Verzeichnissuche zugeordneten Speicherbereiche freigegeben.
Wenn Zwischenspeicherung verwendet wird, wird ein gemeinsamer Verzeichnis-Cache während der Verarbeitung von db2start erstellt und beim Beenden von DB2 freigegeben. Dieser Cache wird von allen DB2-Server-Prozessen (db2agent) verwendet. Außerdem wird ein privater Verzeichnis-Cache für die Anwendung eingerichtet, wenn eine Anwendung ihre erste Verbindung zu einer Datenbank herstellt, und wieder freigegeben, wenn die Anwendung beendet wird.
Jeder Cache stellt ein Abbild des Systemdatenbankverzeichnisses, des DCS-Verzeichnisses für Datenbankverbindungen und des Knotenverzeichnisses zur Verfügung. Durch den Cache wird der Aufwand für die Verbindung verringert, indem die E/A-Operationen für Verzeichnisdateien vermieden und Suchoperationen in Verzeichnissen verringert werden.
Wenn ein im Cache zwischengespeichertes Verzeichnis aktualisiert wird, werden die Änderungen nicht sofort an die Caches weitergegeben. Wenn ein Verzeichniseintrag in einem Cache nicht gefunden wird, werden die ursprünglichen Verzeichnisdateien durchsucht.
Durch Zwischenspeicherung wird die Menge des privaten Speichers erhöht, der für die Ausführung einer Anwendung erforderlich ist. Ohne Zwischenspeicherung wird dieser Speicher nur benötigt, wenn eine Suchfunktion für ein Verzeichnis verarbeitet wird. Die Verwendung gemeinsam benutzten Speichers durch DB2 erhöht sich insgesamt leicht, weil Verzeichnisinformationen, auf die Datenbankagenten gemeinsam zugreifen, in den gemeinsam benutzten Speicher verlegt werden. Die Größe des für einen Cache benötigten Speichers hängt von der Anzahl von Einträgen ab, die in jedem Verzeichnis definiert sind.
MAXDARI und NUMDB sollten auf ihre Minimalwerte gesetzt werden, wenn keine lokale Datenbank auf der DB2 Connect-Datenstation vorhanden ist. Mit diesen Einstellungen wird der Verbrauch von Ressourcen minimiert.
AGENTPRI trifft nur zu, wenn ferne Clients vorhanden sind. AGENTPRI steuert die Priorität, die Agenten eines DB2 Connect-Exemplars vom Scheduler des Betriebssystems zugewiesen wird. Dem DB2 Connect-Exemplar werden mehr CPU-Zyklen zugewiesen, wenn es eine höhere Priorität (niedrigere Zahl) hat. Hierdurch wird die Anzahl der CPU-Zyklen verringert, die für andere auf der DB2 Connect-Workstation ausgeführte Prozesse verbleiben. Z. B. können ein DB2 Connect-Exemplar mit einer hohen Priorität und ein DB2 Connect-Exemplar mit einer niedrigen Priorität auf derselben Workstation mit verschiedenen Werten für AGENTPRI ausgeführt werden.
Jede Verbindung zwischen einer Client-Maschine und einem Host- oder AS/400-Datenbank-Server über DB2 Connect erfordert einen Agenten, der auf der DB2 Connect-Workstation ausgeführt wird. Stellen Sie MAXAGENTS auf einen Wert größer-gleich der maximalen Anzahl von Verbindungen zu fernen Clients, die über die DB2 Connect-Workstation auf einen Host- oder AS/400-Datenbank-Server zugreifen.
Wenn Abrechnungszeichenfolgen verwendet werden sollen, bietet die Verwendung der Anwendungsprogrammierschnittstelle sqlesact() eine bessere Leistung als die Verwendung der Umgebungsvariablen DB2ACCOUNT. Weitere Informationen finden Sie in Implementieren der Zurückbelastung unter DB2 Universal Database für OS/390.
Wenn keine speziell angepaßte SQLCODE-Zuordnungsdatei benötigt wird, kann die Leistung durch Verwendung der standardmäßigen SQLCODE-Zuordnung oder durch Ausschalten der SQLCODE-Zuordnung verbessert werden. (Die Standardzuordnungsdatei ist in die DB2 Connect-Bibliothek eingebettet; eine angepaßte Zuordnungsdatei muß von der Platte gelesen werden, wodurch die Leistung verschlechtert wird.) Weitere Informationen zur SQLCODE-Zuordnung finden Sie in Kapitel 11, SQLCODE-Zuordnung.