MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_01C51344.EC07DF90" Bei diesem Dokument handelt es sich um eine Webseite in einer Datei, die auch als Webarchivdatei bezeichnet wird. Wenn Sie diese Nachricht erhalten, unterstützt Ihr Browser oder Editor keine Webarchivdateien. Downloaden Sie einen Browser, der Webarchivdateien unterstützt, wie zum Beispiel Microsoft Internet Explorer. ------=_NextPart_01C51344.EC07DF90 Content-Location: file:///C:/188AE227/DB2ConnectOptimierung.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii"
DB2 Connect - Leistungsinformationen
Le=
istung
ist das Verhalten eines Datenverarbeitungssystems bei ei=
ner
bestimmten Auslastung. Sie wird von den verfügbaren Ressourcen und der=
en Verwendung
sowie dem gemeinsamen Zugriff auf sie beeinflusst. Wenn die Leistung verbes=
sert
werden soll, muss zuerst klar sein, was mit Leistung gemeint ist. Es kann e=
ine
Vielzahl unterschiedlicher Leistungsmessdaten verwendet werden, wie =
z.
B.:
Antwortzeit
Der zeitliche Abstand zwischen dem Senden der Datenbankanforderung und dem Empfangen einer Antwort durch die Anwendung. <= o:p>
Transaktionsdurchsatz
Die Anzahl von Arbeitseinheiten, die pro
Zeiteinheit ausgeführt werden können. Eine Arbeitseinheit kann ei=
nfach
sein wie das Abrufen und Aktualisieren einer Zeile oder sehr kompliziert, so
dass sie Hunderte von SQL-Anweisungen umfasst.
Datenübertragungsgeschwindigkeit
Die Anzahl an Datenbyte, die pro Zeiteinheit
zwischen der DB2 Connect-Anwendung und der Host- oder iSeries(R)=
-Datenbank
übertragen werden.
Die
Leistung wird durch die verfügbaren Hardware- und Softwareressourcen
begrenzt. CPU, Hauptspeicher und Netzwerkadapter sind Beispiele für
Hardwareressourcen. Kommunikationssubsysteme, Subsysteme für den Seite=
nwechsel,
mbuf für AIX und =
link für SNA sind
Beispiele für Softwareressourcen.
Datenfluss
Die
Abbildung zeigt den Datenfluss zwischen dem Host - oder iSeries-Datenbankse=
rver
und der Workstation über DB2 Connect.

·  =
;
Die Host- oder iSeries-Datenbank und ein Teil des
Kommunikationssubsystems B werden normalerweise auf demselben System
ausgeführt. Dieses System besteht aus einer oder mehreren CPU(s),
Hauptspeicher, einem E/A-Subsystem, DASD und einem Betriebssystem. Da andere
Programme gemeinsam auf diese Komponenten zugreifen können, können
durch Ressourcenkonkurrenz Probleme bei der Leistung entstehen.
·  =
;
Das Netzwerk besteht aus einer Kombination von Kabeln, Hubs,
Übertragungsleitungen, Schaltern und anderen
Kommunikationssteuereinheiten. Beispielsweise könnte die Schnittstelle=
B
für die Netzwerkhardware aus Kommunikationssteuereinheiten wie der
Steuereinheit IBM 3745 oder 3172 oder einem Token-Ring-Adapter für ein=
en
iSeries-Server bestehen. Es kann auch mehr als ein Übertragungsmedium
zwischen den Schnittstellen A und B für die Netzwerk-Hardware verwendet
werden.
·  =
;
Die Schnittstelle A für die Netzwerk-Hardware kann ein
Token-Ring-Adapter, ein Ethernet-Adapter oder ein anderer LAN-Adapter bzw. =
ein
Adapter sein, der das SDLC- oder X.25-Protokoll unterstützt. Als
Kommunikationssubsystem A könnte ein Produkt wie beispielsweise System
Network Architecture (SNA), IBM(R) SNA Server für AIX oder
SNAplus2 für HP-UX verwendet werden.
·  =
;
DB2 Connect und das Kommunikationssubsystem A befinden sich
normalerweise auf demselben System. Im Rahmen dieser Erörterung wird d=
avon
ausgegangen, dass die Anwendung sich ebenfalls auf demselben System befinde=
t.
Engpässe bei der Leistung Der
Transaktionsdurchsatz hängt von der langsamsten Komponente im System a=
b.
Wenn ein Engpass bei der Leistung festgestellt wird, kann das Problem oft d=
urch
Ändern von Konfigurationsparametern, Zuordnen zusätzlicher Ressou=
rcen
zur Problemkomponente, Aufrüsten/Aktualisieren der Komponente oder
Entlasten der Komponente durch Hinzufügen einer neuen Komponente gemil=
dert
bzw. behoben werden. Es
stehen verschiedene Tools zur Verfügung, mit denen ermittelt werden ka=
nn,
wie viel Zeit in jeder Komponente für eine Abfrage benötigt wird.
Hierdurch können Sie eine Vorstellung bekommen, welche Komponenten zur
Verbesserung der Leistung optimiert oder aufgerüstet/aktualisiert werd=
en
sollten. Wenn z. B. festgestellt wird, dass eine Abfrage 60% ihrer Zei=
t in
der DB2 Connect-Maschine zubringt, ist es möglicherweise sinnvoll, DB2
Connect zu optimieren oder (wenn ferne Clients vorhanden sind) dem Netzwerk
eine weitere DB2 Connect-Maschine hinzuzufügen. Ausführung von Vergleichstest Bei
der Ausführung von Vergleichstests wird die Leistung in einer
Umgebung mit der Leistung in einer anderen Umgebung verglichen. Das
Ausführen von Vergleichstests kann mit dem Ausführen der Testanwe=
ndung
in einer normalen Umgebung beginnen. Während ein Leistungsproblem immer
weiter eingegrenzt wird, können spezialisierte Anwendungsbeispiele
entwickelt werden, um den Bereich der getesteten und beobachteten Funktion =
zu
verringern. Die
ausgeführten Vergleichstests müssen nicht komplex sein.
Spezialisierte Anwendungsbeispiele müssen nicht eine gesamte Anwendung
emulieren, um wichtige Informationen zu liefern. Beginnen Sie mit einfachen
Messungen, und erhöhen Sie die Komplexität nur, wenn dies
erforderlich ist. Merkmale
guter Vergleichspunkte: ·  =
;
Jeder Test ist wieder=
holbar.
·  =
;
Jede Wiederholung eines Tests wird in einem identischen Systemstatus gestartet. ·  =
;
Die Hardware und die
Software, die für die Vergleichstests verwendet werden, entsprechen Ihrer Produktionsumgebung=
. ·  =
;
Im System sind ausschließlich die gemessenen Funktionen =
oder
Anwendungen aktiv. (Es sei denn, der Test verlangt, dass eine bestimmte Men=
ge
anderer Aktivitäten im System abläuft). Anmerkung:=
Anwendungen, die gestartet wurden, belegen
Speicher, selbst wenn sie auf Symbolgröße verkleinert wurden oder
momentan inaktiv sind. Dies könnte Seitenwechsel verursachen und die
Ergebnisse des Tests verzerren. Leistungsanalyseprogramme In
der folgenden Tabelle sind einige Tools aufgelistet, die beim Messen der
Systemleistung helfen können. Da diese Tools selbst Systemressourcen
belegen, sollten sie nicht ständig aktiv sein. Tool Beschreibung CPU-Belastung und
Belegung des Hauptspeichers AIX(R) vmstat, time, ps, tprof Bieten Informationen zu Konkurrenzsituationen beim Zugriff a=
uf
die CPU oder den Hauptspeicher auf der DB2 Connect-Workstation und fernen
Clients. HP-UX vmstat, time, ps, monitor und glance, wenn diese verfüg=
bar
sind. Windows(R) NT und Windows 2000 Microsoft(R) Performance Monitor Datenbankaktivit=
ät
Alle Datenbankmonitor Stellt fest, ob das Problem von der Datenbank ausgeht. OS/390(R) oder zSeries(TM) DB2PM (IBM), OMEGAMON/DB2 (Can=
dle),
TMON (Landmark), INSIGHT (Goal Systems) und DB2AM (BMC) Windows NT(R) und
Windows 2000 Microsoft Performance Monitor System Tool Beschreibung Netzwerkaktivit&=
auml;t
AIX netpmon Erstellt einfache Systemstatistiken für das Netzwerk,
einschließlich TCP/IP- und SNA-Statistik, wie die Anzahl pro Sekunde
empfangener Pakete oder Rahmen. DOS IBM Token-Ring Network 16/4 Tr=
ace
and Performance Program Die meisten Netzwerkmonitore sind plattformabhängig; di=
eses
Tool funktioniert nur unter Token-Ring. Netzwerksteuereinheit, z. B. Steuereinheit 3745 NetView(R) Performance Monitor Erstellt Berichte über die Auslastung von
Kommunikationssteuerung und VTAM. Auf UNIX basierend netstat Verwaltet den TCP/IP-Verkehr. Weitere DB2 Connect-Parameter 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&aum=
l;t
und ein DB2 Connect-Exemplar mit einer niedrigen Priorität auf derselb=
en
Workstation mit verschiedenen Werten für AGENTPRI ausgeführt werd=
en. Jede
Verbindung zwischen einer Clientmaschine und einem Host- oder iSeries(=
R)-Datenbankserver
über DB2 Connect erfordert einen Agenten, der auf der DB2
Connect-Workstation ausgeführt wird. Legen Sie für MAXAGENTS eine=
n Wert
größer-gleich der maximalen Anzahl von Verbindungen zu fernen
Clients fest, die über die DB2 Connect-Workstation auf einen Host- oder
iSeries-Datenbankserver zugreifen. Wenn
Abrechnungszeichenfolgen verwendet werden sollen, bietet die Verwendung der=
Anwendungsprogrammierschnittstelle
sqlesact() eine bessere Leistung als die Verwendung der Umgebungsvariablen
DB2ACCOUNT. Wenn
keine speziell angepasste 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
angepasste Zuordnungsdatei muss von der Platte gelesen werden, wodurch die
Leistung beeinträchtigt wird. Optimierung der Hostdatenbank
Die Systemleistung=
wird
durch die Leistung der Datenbank des Host- oder iSeries(TM)-Date=
nbankservers
beeinflusst. Verschiedene Datenbankverwaltungssysteme haben verschiedene Le=
istungsmerkmale.
SQL-Optimierungsprogramme verschiedener Systeme können sich z. B.=
bei
derselben Anwendung unterschiedlich verhalten. Weitere Informationen
können Sie der Leistungsbeschreibung in der Dokumentation des verwende=
ten
Host- oder iSeries-Datenbankserversystems entnehmen.
Es
kann möglicherweise eine Leistungsverbesserung erzielt werden, indem d=
ie
Bindeoption für nicht festgeschriebene Lesevorgänge (UR, Uncommit=
ted
Read) oder für keine COMMIT-Operationen (NC, No Commit) verwendet wird,
sodass keine Aufzeichnung stattfindet.
Wird UR verwendet, können nicht
aufgezeichnete Daten nur gelesen, jedoch nicht aktualisiert werden, und dies
auch nur dann, wenn die Blockung auf ALL eingestellt ist.
Je
nach dem verwendeten Anwendungsserver und der von ihm zur Verfügung
gestellten Unterteilung für Sperren kann die für eine Abfrage oder
Anwendung verwendete Isolationsstufe einen erheblichen Einfluss auf die
Leistung ausüben.Die Datenbank sollte über eine geeignete
Normalisierungsstufe, eine effiziente Verwendung von Indizes und eine sinnv=
olle
Zuordnung von Datenbankbereich verfügen. Die Leistung kann auch durch =
die
verwendeten Datentypen beeinflusst werden, wie in den nachfolgenden Abschni=
tten
beschrieben wird.
Überlegungen zur Netzwerkoptimierung
Die beste Methode,=
die
Gesamtleistung in einer verteilten Datenbankumgebung zu verbessern, ist das
Eliminieren von Verzögerungen, die durch das Netzwerk verursacht werde=
n.
Netzwerkadministratoren gehen in der Regel davon aus, dass ein Netzwerk eff=
ektiver
ist, wenn es so viele Daten wie möglich zwischen Übertragungen
sammelt. Dies wirkt sich jedoch nachteilig auf Anwendungen für verteil=
te
Datenbanken aus, weil dadurch in das Netzwerk Verzögerungen eingebaut
werden. Der Endbenutzer sieht die Effektivität des Netzwerks nicht,
sondern lediglich die Verzögerungen.
Für
die meisten Netzwerkeinheiten gibt es Verzögerungsparameter, und die
Mehrzahl der Parameter nimmt standardmäßig Werte an, die für
verteilte Datenbanken sehr schlecht sind. Sie können die Leistung
steigern, indem Sie diese Parameter suchen und, sofern möglich, auf Nu=
ll
setzen. Stellen Sie zudem sicher, dass die Puffergröße für =
die
Einheit groß genug ist, um erneute Übertragungen aufgrund verlor=
ener
Daten zu verhindern. UNIX(R)-Systeme zum Beispiel weisen in der
Regel den Wert 32 für die Warteschlangenlänge bei Übertragun=
gs-
und Empfangsvorgängen auf. Setzen Sie die Warteschlangenlänge zum
Erzielen besserer Ergebnisse auf 150. Ein entsprechender Parameter in den D=
LC-Einstellungen
ist die Empfangslänge, die auch auf 150 gesetzt werden sollte.
Der
Parameter IOBUF ist an den meisten Standorten zu niedrig eingestellt. Er ist
gewöhnlich auf 500 gesetzt. Erfahrungsgemäß eignet sich jed=
och
der Wert 3992 am besten, wenn Sie große Datenmengen, besonders bei
Kanalverbindungen wie ESCON(R) oder 3172, übertragen.
Bei
SNA-Verbindungen sollten Sie das Modusprofil jeder Workstation-Software auf=
63
setzen. Im Allgemeinen sollten die Werte für die
Empfangsnachrichtendosierung im gesamten Netzwerk auf den Höchstwert
gesetzt werden, d. h. die Parameter VPACING und PACING in der DB2=
(R)-Anweisung
APPL und die PU/LU für die Workstation in einem Hauptmodus für
Wählverbindungen sollten ebenfalls auf 63 gesetzt werden. Dadurch kann=
die
Anzahl von Nachrichtenströmen bis zu dem Zeitpunkt anwachsen, an dem d=
er
Sender auf eine Antwort warten muss.
In
einem LAN-System kann sich die Größe der DLC- oder
LLC-Übertragungs- und Empfangsfenster drastisch auf die Leistung
auswirken. Der Sendewert sollte auf sieben oder mehr gesetzt werden, und
für die meisten Konfigurationen ist ein Empfangswert von vier oder wen=
iger
am besten geeignet.
Wenn
Sie Ethernet ausführen, sollten Sie die TCP-Segmentgröße auf
1500 Byte setzen. In einem Token-Ring- oder FDDI-Netzwerk sollte dieser Wer=
t 4400
Byte sein, und wenn Sie einen ESCON-Adapter mit TCP/IP verwenden, sollte die
Segmentgröße immer 4096 sein.
Schließlich
sollte die Größe der Sende- und Empfangspuffer für TCP bei
TCP/IP-Netzwerken auf einen höheren Wert als 32768 gesetzt werden. Der=
Wert
65536 ist im Allgemeinen am besten.
Das Herstellen einer Verbindung vom Gateway =
zum
Server (abgehende Verbindung) ist wesentlich kostenintensiver als das
Herstellen einer Verbindung von einem Client zum Gateway (eingehende
Verbindung). In einer Umgebung, in der Tausende von Clients häufig
über den Gateway eine Verbindung zum Server herstellen und trennen, wi=
rd
ein hoher Prozentsatz der Verarbeitungszeit für das Herstellen von
abgehenden Verbindungen benötigt. DB2 Connect stellt daher einen Verbi=
ndungszusammenschluss
über TCP/IP bereit. Wenn ein Client das Trennen der Verbindung vom Ser=
ver
anfordert, löscht der Gateway die eingehende Verbindung mit dem Client,
belässt die abgehende Verbindung zum Server jedoch in einem Pool. Wenn=
ein
neuer Client am Gateway eine Verbindung anfordert, stellt der Gateway eine
vorhandene Verbindung aus dem Pool bereit. Dadurch wird die Verbindungszeit
insgesamt verringert, und es entfällt der hohe CPU-Verbindungsaufwand =
auf
dem Server.
Die
folgende Tabelle ist eine Zusammenfassung der Methoden für die
Netzwerkdurchsatzverbesserung.
|
Beispiel |
Einstellung |
Hinweise |
|
|
Absichtliche Verzögerungen |
Verzögerungsparameter für Netzwerkeinheiten |
Auf 0 setzen. |
Die Standardwerte sind gewöhnlich höher. |
|
Puffer |
Parameter IOBUF |
Auf bis zu 3992 setzen. |
Besonders hilfreich für ESCON- oder andere Kanaladapter=
|
|
RUSIZE |
Optimale Größe ist 4096. |
Das Setzen von RUSIZE und RQRIOBLK auf die gleiche
Größe ergibt möglicherweise die beste Leistung. |
|
|
Nachrichtendosierung |
VPACING, PACING und Modusprofile sollten auf 63 gesetzt werd=
en. |
Verwenden Sie adaptive Nachrichtendosierung, wo möglich=
. |
|
|
Adaptereinstellungen |
Warteschlangenlänge für Senden/Empfangen |
Der empfohlene Wert ist 150. |
Der Standardwert ist gewöhnlich 32. |
|
DLC-Fenstertechnik bei SNA |
Stellen Sie eine hohe Übertragungsfenstergröß=
;e
ein (>7). Stellen Sie eine niedrige Empfangsfenstergröße ein
(z. B. 1), testen und erhöhen Sie die Zahl wiederholt, bis Sie =
den
Idealwert ermittelt haben. |
Jede logische Einheit fügt Verzögerungen hinzu.
Vereinfachen Sie die Netzwerktopologie so stark wie möglich. |
|
|
TCP-Einstellungen |
Segmentgrößen |
1500 für Ethernet, 4400 für Token-Ring und FDDI. <= o:p> |
Für TCP/IP verwendete ESCON-Adapter sollten immer auf 4=
096
gesetzt werden. |
|
Speicherbereichsgrößen für Senden / Empfange=
n |
Sollte für beide 64 KB sein. |
Der Standardwert für Windows ist nur 8192. Er kann in d=
er
Windows(R)-Registrierungsdaten-bank eingestellt werden. |
Konflikte bei Systemressourcen
Die Leistung kann =
sich
verschlechtern, wenn viele Tasks im System versuchen, gleichzeitig auf
bestimmte Systemressourcen zuzugreifen. Folgende Fragen müssen beantwo=
rtet
werden:
· &nbs=
p;
Ist die CPU überlastet? Gegebenenfalls sollte das System
aufgerüstet, die Systemauslastung vermindert und/oder das System optim=
iert
werden, um den Systemaufwand für die Verarbeitung zu verringern.
· &nbs=
p;
Ist der Hauptspeicher überlastet? Gegebenenfalls sollte d=
er
Hauptspeicher aufgerüstet, die Systemauslastung verringert und/oder das
System zur Verringerung der eingelagerten Seiten optimiert werden.
· &nbs=
p;
Ist der Kommunikationsadapter bzw. die Kommunikationssteuerein=
heit
zu stark ausgelastet? Gegebenenfalls sollte das Netzwerk erweitert oder sol=
lten
Token-Ring-Karten hinzugefügt werden.
· &nbs=
p;
Ist eines der Subsysteme zu stark ausgelastet, und liegt dieses
Subsystem im Datenpfad?
· &nbs=
p;
Laufen im System unnötige Prozesse oder Tasks? Im allgemeinen sollten nur Services konfiguriert oder ges=
tartet
werden, wenn sie regelmäßig verwendet werden, um eine Verschwend=
ung
von Systemressourcen zu vermeiden.
· &nbs=
p;
Belegen einige wenige Prozesse oder Funktionen einen
Großteil der Ressourcen? Können sie gestoppt werden? Kann ihre
Priorität verringert werden? Können sie so geändert werden, =
dass
sie weniger Ressourcen benötigen?