pulsum
Goto Top

Leistungsproblem MS SQL Server 2008 - Wie kann man feststellen woran es liegt?

Hallo,

auf einem Windows Server 2008 ist auch ein MS SQL Server 2008 installiert.
Es gibt nur eine Anwendung, welche auf diesen SQL Server zugreift. Diese Anwendung wird von ein paar Anwendern per RDP aufgerufen.
Die Anwender berichten, dass nach ein paar Klicks in der Anwendung die Anwendung "stockt", bzw. grau dargestellt wird. Nach ein paar Sekunden geht es dann weiter. Ganz schlimm wird es, wenn die Benutzer in der Anwendung eine Suche (Filterfunktion) starten, dann stellt sich der Effekt sofort ein und hält auch länger an.
Ein flüssiges arbeiten ist also irgendwie nicht möglich.

Werden hingegen Exceltabellen und Office Dokumente per RDP geöffnet und bearbeitet, dann klappt dies tadellos und ohne Probleme. Hier können alle Benutzer gleich schnell arbeiten und nix hängt. Das Problem muss also irgendwo mit der Anwendung oder mit dem SQL Server zu tun haben.

CPU Auslastung liegt zeitweise bei 5-10% und der SQL-Server Task verbraucht im Betrieb ca. 1.4 GB Speicher.
Im Server befinden sich zwei Intel Xeon E5405 CPUs und sechs SAS HDs im RAID 10 Array.

Wie kann ich nun herausfinden, was auf dem SQL-Server passiert, während die Anwendung auf die Datenbank zugreift? Lässt sich die Leistung des SQL Servers messen bzw. darstellen um herauszufinden wie stark die Anwendung den SQL Server belastet?

Gruß, Sven

Content-ID: 137497

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

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

bstefan82
bstefan82 05.03.2010 um 11:38:03 Uhr
Goto Top
Im SQL Management Studio 2008 gibts nen Aktivitätsmonitor, dor kannst du i.d.R. sehen woran es hängt...
thaenhusen
thaenhusen 05.03.2010 um 11:40:36 Uhr
Goto Top
Hallo Pulsum.

Also mit dem RDP dürfte das nichts zu tun haben, da ja nur der Desktop "transportiert" wird und nicht die Berechnungen etc. Ich denke das die Anwendung
auf einem Terminal-Server läuft?

Um Dein Problem genauer zu beurteilen fehlen noch ein paar Angaben, aber ich vermute das es bei Dir entweder um eine grausige Anwendung handelt oder, was
wahrscheinlicher ist, dass Dein Server nicht genügend Speicher hat!? Des Weiteren ist interessant, ob Du die Schlüssel und Indexe sinnvoll verwendest etc...

Bei mit hat die Erweiterung von 4 auf 16 GB Ram viel gebracht. Der effekt war ähnlich, man kann sagen wie Licht an und Licht aus... face-wink

Also meine Vermutung ist, dass bei den Filtern etc. das System an seine Grenzen stösst.

HTH
MK
pulsum
pulsum 05.03.2010 um 12:36:14 Uhr
Goto Top
Hallo,

Zitat von @thaenhusen:

Also mit dem RDP dürfte das nichts zu tun haben, da ja nur der Desktop "transportiert" wird und nicht die
Berechnungen etc. Ich denke das die Anwendung auf einem Terminal-Server läuft?

Ja die Anwendung ist auf dem Server installiert und wird von den Benutzern auf dem Remote-Desktop ausgeführt.

Um Dein Problem genauer zu beurteilen fehlen noch ein paar Angaben, aber ich vermute das es bei Dir entweder um eine grausige
Anwendung handelt oder, was wahrscheinlicher ist, dass Dein Server nicht genügend Speicher hat!? Des Weiteren ist interessant, ob Du die Schlüssel
und Indexe sinnvoll verwendest etc...

Der Server besitzt 8GB RAM und darauf läuft Windows Server 2008 64bit.
Ich habe dann nur noch den MS SQL Server 2008 installiert und sonst weiter nichts. Die Software inkl. Anlegen der Datenbank bzw. der Tabellen wurde vom Programmhersteller gemacht. Allerdings behauptet der natürlich, dass seine Anwendung nicht das Problem ist.


Bei mit hat die Erweiterung von 4 auf 16 GB Ram viel gebracht. Der effekt war ähnlich, man kann sagen wie Licht an und Licht
aus... face-wink

Ich hatte auch schon vorgehabt den RAM auf 16GB zu erweitern, aber zunächst möchte ich wissen ob das die Ursache ist.
Denn der RAM ist nicht bis zum Anschlag voll belastet, wenn es zu den Problemen kommt. Von den 8GB sind dann höchstens 50% (inkl. der sonstigen Prozesse) belegt. Der SQL-Server Task belegt nie mehr als 1.4 - 1.5GB RAM

Also meine Vermutung ist, dass bei den Filtern etc. das System an seine Grenzen stösst.

Das müsste man doch sicher irgendwo sehen bzw. messen und protokollieren können, oder?
pulsum
pulsum 05.03.2010 um 12:38:31 Uhr
Goto Top
Zitat von @bstefan82:
Im SQL Management Studio 2008 gibts nen Aktivitätsmonitor, dor kannst du i.d.R. sehen woran es hängt...

Danke für den Tip. Werde ich gleich mal probieren.
thaenhusen
thaenhusen 05.03.2010 um 13:06:07 Uhr
Goto Top
Moin.

Also wenn das so ist, dass die Software auf dem Terminal-Server läuft kann es natürlich auch noch an Deinem
Netzwerk liegen (zwischen den beiden Servern)?

Ich habe da Gigabit zwischen liegen und das läuft mit meiner Konfiguration jetzt einwandfrei...

Du kannst Dich mal mit dem SQL-Profiler beschäftigen. Damit kannst Du sehr viel auswerten...
Was anderes bleibt da kaum übrig.

Nur mal so nebenbei. Ich habe hier eine 12 GB große Datenbank und wenn man das Falsch angeht kann man
mit einem unsauberen Query den ganzen Server "sterben" lassen...

HTH
MK
pulsum
pulsum 05.03.2010 um 14:54:38 Uhr
Goto Top
Zitat von @thaenhusen:
Also wenn das so ist, dass die Software auf dem Terminal-Server läuft kann es natürlich auch noch an Deinem
Netzwerk liegen (zwischen den beiden Servern)?

Ne, das Netzwerk ist ein Gigabit-Netzwerk und es handelt sich ja nur um einen physischen Server, auf dem der SQL-Server und die Anwendung läuft.
Und die Benutzer greifen per RDP auf diese Anwendung auf diesen Server zu.


Du kannst Dich mal mit dem SQL-Profiler beschäftigen. Damit kannst Du sehr viel auswerten...
Was anderes bleibt da kaum übrig.
Ja, mal sehen ob ich da einen Durchblick bekomme. Ich habe bei MS in den Dokumentationen nachgeschlagen, aber da werde ich nicht wirklich schlau draus.

Nur mal so nebenbei. Ich habe hier eine 12 GB große Datenbank und wenn man das Falsch angeht kann man
mit einem unsauberen Query den ganzen Server "sterben" lassen...
Die Datenbank ist gerade mal 200MB groß. Daran kann es also auch nicht liegen.
thaenhusen
thaenhusen 05.03.2010 um 21:34:17 Uhr
Goto Top
Moin.

Zitat von @pulsum:

Ne, das Netzwerk ist ein Gigabit-Netzwerk und es handelt sich ja nur um einen physischen Server, auf dem der SQL-Server und die
Anwendung läuft.
Und die Benutzer greifen per RDP auf diese Anwendung auf diesen Server zu.

Das heißt bei Dir sind Terminal- und SQL-Server eine Dose? Hm, da kann es aber auch eigentlich nicht dran liegen...

Ja, mal sehen ob ich da einen Durchblick bekomme. Ich habe bei MS in den Dokumentationen nachgeschlagen, aber da werde ich nicht
wirklich schlau draus.

Das ist etwas ziemlich spezielles und man muss das erstmal sacken lassen... face-smile Viel Glück dabei.

Die Datenbank ist gerade mal 200MB groß. Daran kann es also auch nicht liegen.

Normal nicht, aber wenn Du eine Tabelle mit vielen Datensätzen hast und ein schlechter Query kommt... Dann kann auch das Licht ausgehen...

Schöne Grüße
MK