eccos01
Goto Top

Datenbankperformance sinkt zeitweise rapide ab

Hallo zusammen,

ich habe ein Problem.

Wir haben eine Anwendung mit einem App-Server und einer relationalen Datenbank.
Eigentlich läuft das System gut (Hardware: Xeon-Quadcore, SATA-Raid1 mit WriteCache(BBU); 8GB RAM).

Das System läuft auf einem Win2k8 R2 - Server.

Wenn ich mir die Antwortzeiten der Datenbankanforderungen anschaue, dann habe ich mehrfach absolute Ausreißer.
Das betrifft sowohl Schreib- (Update/Insert) als auch Lesezugriffe (Select).
Beispiel:
Ich habe einen bestimmten Anweisungstyp 1000 mal aufgerufen (z.B. ein bestimmtes Insert) und die durchschnittliche Ausführungszeit beträgt unter 100ms.
Die maximale Ausführungszeit liegt aber bei fast 1s (also knapp 1000ms).

Hat einer eine Idee, wie ich die Ursache herausfinden kann? Ich vermute ein Problem mit der IO-Performance, denn CPU und Ram scheinen absolut nicht ausgelastet.

Im ResourceManager bekomme ich keine brauchbaren Informationen (oder ich kann sie nr nicht analysieren).
Z.B. was nützt mir die Aussage, daß eine bestimmte Geschwindigkeit erreicht wurde oder die maximale Last für 1% der Zeit erreicht wurde.

Ich muss herausfinden, ob mein Datenbankprozess auf die Festplatte warten mußte und daher die enormen Verzögerungen zu Stande kommen.

Viele Grüße

Content-ID: 175067

Url: https://administrator.de/contentid/175067

Ausgedruckt am: 22.11.2024 um 22:11 Uhr

dan0ne
dan0ne 21.10.2011 um 12:08:14 Uhr
Goto Top
Hallo,

wieviele Leute greifen den auf die DB zu ? Schwankungen sind immer möglich, das hängt aber stark von der benutzung ab. Ich tippe allerdings auch auf die IO-Performance.

Gruss
eccos01
eccos01 21.10.2011 um 12:31:29 Uhr
Goto Top
Zitat von @dan0ne:
Hallo,

wieviele Leute greifen den auf die DB zu ? Schwankungen sind immer möglich, das hängt aber stark von der benutzung ab.
Ich tippe allerdings auch auf die IO-Performance.

Gruss
Das ist natürlich unterschiedlich... und natürlich entstehen die schlechten Zeiten eher wenn Last auf dem System liegt... aber auch unter Last habe ich dasselbe Problem.
Mein Problem ist aber, daß wenn ich andere Festplatten / SSDs, mehr Festpülatten usw. beiom Kunden durchsetzen will, muss ich
1. sicher sein, daß es daran liegt und
2. es auch irgendwie nachweisen können...
Vermutungen kommen bei Kunden schlecht, wenn man ihr Geld will.
dan0ne
dan0ne 21.10.2011 um 12:50:37 Uhr
Goto Top
Dann wäre es doch sinnvoll wenn du mal sagen würdest um was für eine Datenbank es sich den handelt. Bei MySQL kannst du dies nachschauen, wie die DB das SYS auslastet. Du könntest dort auch nach sloq-querys etc.pp schauen...
Gruss
eccos01
eccos01 21.10.2011 um 12:59:31 Uhr
Goto Top
Zitat von @dan0ne:
Dann wäre es doch sinnvoll wenn du mal sagen würdest um was für eine Datenbank es sich den handelt. Bei MySQL
kannst du dies nachschauen, wie die DB das SYS auslastet. Du könntest dort auch nach sloq-querys etc.pp schauen...
Gruss

Ach ja... es geht um Sybase Anywhere Version 11
dan0ne
dan0ne 21.10.2011 um 13:02:53 Uhr
Goto Top
Bei Sybase kenne ich mich leider nicht aus, allerdings gab mir Google das zurück Sybase Central Performance Monitor

Gruss
eccos01
eccos01 21.10.2011 um 16:36:35 Uhr
Goto Top
Zitat von @dan0ne:
Bei Sybase kenne ich mich leider nicht aus, allerdings gab mir Google das zurück
Sybase Central Performance Monitor

Gruss
Ob es in Sybase eine Möglichkeit gibt, erfahre ich wohl nächste Woche... da hab ich einen Workshop.
Auf betriebssystem-Ebene kann man nichts herausfinden?

Nicht unbedingt, ob die Datenbank warten mußte... sondern z.B. ob generell Prozesse auf die Festplatte warten mussten und wie oft / wie lang?
Also ein Analyse-Tool / Monitor, der mir eine Info gibt, ob die Schreib-/Lese-Performance meiner Platte(n) ausreicht...

Ich kann zwar mit Tools die Transferraten, mittlere Zugriffszeiten testen... aber ob dies bei Last ausreicht, weiß ich deshalb noch immer nicht.
NetWolf
NetWolf 21.10.2011 um 23:52:42 Uhr
Goto Top
Moin Moin,

ich denke du suchst an der falschen Stelle. Solche "Ausreißer" kommen zu 90% zustande, wenn der Datenträger eine Macke hat. .. oder ...
Falls die DB nicht alleine auf einer Partition installiert sein sollte....was ist noch drauf installiert, dass Performance benötigt?

Ich würde daher erst mal das Raid überprüfen inkl. Controller, dann beide Platten auf Fehler checken!

Grüße aus Rostock
Wolfgang
(Netwolf)