Zugriffszeit der DB2 optimieren
- Dieses Thema hat 7 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 16 Jahre, 7 Monaten von
Anonym.
-
AuthorPosts
-
26. Januar 2007 um 15:23 Uhr #2756
AnonymInaktivHallo Miteinander,
bin neu im Forum.
Möchte auch gleichmal was los werden.
Wir haben bei uns im Betrieb eine db2 Datenbank im Einsatz.
Außerdem haben wir eine Intranet Application die auf die Daten der DB2 zugreift.Das Probem ist Folgendes: Wenn man einen Datensatz vom Intranet lesen will, dann dauert es ca 10 sek – 15 sek bis sich der Datensatzöffnet. Meiner Meinung nach ist das vielzulangsam für eine DB2.
Am PC liegts auch nicht. Habe einen P4 2 GHZ 512mb ram.
Kenne mich nicht so gut mit DB2 aus. Ich denke das liegt an den DB2 Einstellungen.
27. Januar 2007 um 18:09 Uhr #3148
AnonymInaktivHi Newbie85,
zuerst einmal müßte bewiesen werden, daß es wirklich am DB2 liegt! Neben der Leitung (Geschwindigkeit? Anbindung?) gibt es einen Web-Server (welchen? Apache?) und eine Anwendung (Programmiersprache? Qualität des Coding?) und möglicherweise einen Application Server (welchen?) und dann kommt irgendwann DB2. Da gibt es sehr viele Stellen, wo es haken kann. Also ist es der erste Schritt, sich dem Problem zu nähern, zu messen, wo denn die Zeit verstreicht. Im DB2 gibt es dafür den Snapshot-Monitor, den man konfigurieren und einsetzen kann, und den Event-Monitor, den man auch für seine Messung per CREATE definieren muß. Zu den anderen Komponenten kann ich aus begreiflichen Gründen nichts sagen.
Ist eigentlich jede Abfrage auf die Datenbank so langsam oder gibt es da Unterschiede? Wurde die DB2-Konfiguration (z.B. Bufferpool-Größe) nach der Installation verändert? Welche DB2-Version, welche Edition?
MfG
AxelP
29. Januar 2007 um 8:52 Uhr #3413
AnonymInaktivMoin Newbie85!
Ich kann AxelP nur beistimmen mit der Frage nach der Infrastruktur, wie und von wo aus auf die DB2 zugegriffen wird?
Läuft das alles auf einer Multitierarchitektur mit Webfrontend, oder per Richclient?
Dauert der Zugriff mit nem DB2 Client genauso lange?
Läuft die DB2 auf dem P4, oder ist das der Rechner mit dem auf den entfernten DB-Server zugegriffen wird?
Wie viele Anwendungen greifen gleichzeitig auf die DB zu?Eine andere wichtige Frage betrifft natürlich die Datenquantität. – Wie viele Datensätze befinden sich in den Tabellen, auf die zugegriffen wird. Ist es ein einfacher SELECT Zugriff, oder verschachteltes JOIN? Vor allem, sind die Tabellen mit INDIZES versehen?
btw: Ich habe Datenbanktabellen mit mehr als 1Mio Datensätze und Zugriffszeiten von unter 1sek.  😉
29. Januar 2007 um 14:51 Uhr #3582
AnonymInaktivHallo Zusammen!
Danke für euer schnelle Antworten erstmals.
Jo es gibt einen Application Server. Auf diesen läuft der Domino Admin 6.5 von Lotus Notes. Die Anwendung wurde mit dem Domino Designer 6.5 entwickelt. Zur Programmierung (Quali des Codin) der Anwendung kann selber nix sagen, da diese von Externen ITler entwickelt wurde. Die Tabellen wurden mit INDIZIES versehen.
es sind momentan ca 100000 Datensätze vorhanden. Aud die Daten wird mit einen verschachteltes JOIN zugeriffen ("Da möglichst viele Infos von den verschiedenen Tabellen auf eine Seite angezeigt werden soll").DB2 Version: Connect Enterprise Connect Edition V8.1
und die DB2 läuft auf dem P4 (virtuell).PS: Wenn wir die DB2 Daten sichern wollen, dauert es auch extrem lange (ca 1 Tag).
29. Januar 2007 um 18:12 Uhr #3703
AnonymInaktivHallo Newbie85,
das ist ja eine Infrastruktur, in der vieles schief gehen kann (aber nicht muß 😉 ). Was die SQL-Befehle angeht, so würde ich die mit Explain oder VisualExplain analysieren, ob die Index-Nutzung wie gewünscht ist und wieviel Aufwand sich dahinter verbirgt.
Da ich es schon mal bei Kunden erlebt habe, nochmal die Frage, ob die Konfiguration nach der Installation geändert wurde (Default sind unter Windoof 1 MB Bufferpool – da läuft gar nichts! :'( ). Bitte also einen Blick auf die Konfigurationsparanter werfen und ggfs den Configuration Advisor zu Rate ziehen (aber nicht blind ändern lassen!).
Wenn die Backup-Zeiten so hoch sind, dann stimmt möglicherweise die I/O-Konfiguration nicht (Platten etc.?). Aber das kann man aus der Ferne nicht diagnostizieren. Also messen, messen messen! :-/
MfG
AxelP
5. Februar 2007 um 15:16 Uhr #3784
AnonymInaktivHallo Nochmals!
Also Habe mal auf dem DB2 Server die Diagnosezentrale ausprobiert.
Diese hat dann einen Alarm diagnostiziert.Der heap Speicher ist von 65% –> 124 % gestiegen. Vielleicht liegt es ja daran.
Weis jemand genaueres über diesen Heap Speicher???Bringt es euch was wenn ich mal ein Screenshot von den Parametereinstellung mache??
5. Februar 2007 um 15:34 Uhr #3838
AnonymInaktivHi Newbie85,
natürlich kann ich dazu etwas sagen, aber weil ich schreibfaul bin, hier der Link zur IBM Informationszentrale, wo (fast) alles drin steht: http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp
Zum dbheap steht da:
>>
dbheap – Zwischenspeicher für Datenbank (Konfigurationsparameter)Konfigurationstyp
Datenbank
Parametertyp
Online konfigurierbar
Weitergabeklasse
Sofort
Standardwert [Bereich]UNIX
1200 [ 32 – 524 288 ]
Windows-Datenbankserver mit lokalen und fernen Clients
600 [ 32 – 524 288 ]
Windows-64-Bit-Datenbankserver mit lokalen Clients
600 [ 32 – 524 288 ]
Windows-32-Bit-Datenbankserver mit lokalen Clients
300 [ 32 – 524 288 ]Maßeinheit
Seiten (4 KB)
Zuordnung
Wenn die Datenbank aktiviert ist
Freigabe
Wenn die Datenbank inaktiviert istFür jede Datenbank gibt es einen Datenbankzwischenspeicher, der vom Datenbankmanager für alle Anwendungen, die auf die Datenbank zugreifen, verwendet wird. Er enthält Steuerblockdaten für Tabellen, Indizes, Tabellenbereiche und Pufferpools. Er enthält außerdem Speicherbereich für den Protokollpuffer (logbufsz) sowie temporären Speicher, der von Dienstprogrammen verwendet wird. Daher ist die Größe des Zwischenspeichers von vielen Variablen abhängig. Die Steuerblockdaten werden im Zwischenspeicher gehalten, bis alle Anwendungen die Verbindung zur Datenbank getrennt haben.
Der Mindestspeicherbereich, den der Datenbankmanager zu Beginn benötigt, wird beim Herstellen der ersten Verbindung zugeordnet. Der Datenbereich wird nach Bedarf erweitert, bis der gesamte Überlaufspeicherbereich im gemeinsamen Datenbankspeicher belegt ist. <<
Ich weiß natürlich nicht, ob Dir das weiter hilft. Der Heap ist also von anderen Konfigurationsparametern abhängig. Wie sind die denn konfiguriert? Eine Ferndiagnose ist schwer zu betreiben!
Was haben denn die Explains der SQL-Befehle ergeben? Alles OK?
MfG
AxelP
19. Februar 2007 um 8:42 Uhr #3872
AnonymInaktivDANKE für eure Antworten
Es lag am Netzwerk.
-
AuthorPosts
You must be logged in to reply to this topic.