profex-xp 10 Geschrieben 19. September 2008 Melden Geschrieben 19. September 2008 Hallo Board-Community, Ich habe da mal eine Frage an die SQL Spezialisten, wie kann ich auf einem SQL Server ( IntelXeo/4Prozessoren, 2Gig-Ram, Windows 2000 Server/Sp4 Anbindung mit GigaBit) mit dem hauseigenen Tool namens Systemmonitor - Leistungsindikatoren herausfinden wie stark die Maschine ausgelastet ist im Bezug auf die reine SQL Zugriffe, bzw. welche Prozesse, oder ähnliches zuständig sind wie stark der SQL in Beschlag genommen wird. Es geht darum das die User ca. 50 stück sich beschweren das die Sql Anwendungen sehr langsam sind. Ich habe im Systemmonitor keine SQL Spezielle Einstellung gefunden wo ich genau prüfen kann woran dies liegen könnte. Gibt es eventuell ein *** Tool oder anderes Freeware womit man die Flaschenhälse eines SQL herausfinden kann? Über Infos, Rat & Tat bin ich allen sehr dankbar. mfg, A. Zitieren
Gulp 274 Geschrieben 19. September 2008 Melden Geschrieben 19. September 2008 Was für eine SQL Serverversion ist das, 2000? Bei 2000 findet sich im Startmenü unter "Microsoft SQL Server" ein Programm namens "Profiler" mit dem sich so ziemlich alles SQL-mäßig monitoren lässt, dort sieht man auch beispielsweise die Laufzeiten der einzelnen Statements, was sich zur Performanceanalyse und zum Tuning zB durch Indizes nutzen lässt. Grüsse Gulp Zitieren
phoenixcp 10 Geschrieben 19. September 2008 Melden Geschrieben 19. September 2008 Entscheidend für die Performance eines SQL Servers sind die folgenden Faktoren: - Disk IO (kommen die Platten mit lesen und schreiben hinterher, grade wenn er pagen muss, wird das zum absoluten KO-Kriterium) - RAM (im optimalen Fall würde ich empfehlen soviel RAM zu verbauen, wie die Datenbank groß ist plus 1 GB fürs System selber, damit kann der Server die DB komplett im RAM halten und muss nicht pagen) Ansonsten: was für eine SQL Server Version läuft auf der Maschine? SQL Server 7 oder SQL Server 2000? Zitieren
frr 11 Geschrieben 19. September 2008 Melden Geschrieben 19. September 2008 Hallo, das geht nicht so einfach auf Knopfdruck. Der SQL Server bringt aber unendlich viele Leistungsindikatoren mit. Ich würde aber für den Anfang den Server mit den Standardindikatoren überwachen. Dazu zählen "Warteschlange des Datenträgers", "Speicher", "Prozessor". In der Windows 2003 Hilfe gibt es eine kleine Übersicht, in der die Schwellenwerte für diese Indikatoren aufgeführt sind. Gib doch bitte mal nähere Informationen über die Applikation und um wie viel User es sich handelt. Die zwei GB RAM finde ich in der heutigen Zeit etwas unterdimensioniert. Der RAM ist nicht mehr so teuer, als das man noch unterhalb der 4 GB arbeiten muss. Eine große Schwachstelle in den Applikationen bzw. im Datenbankdesign sind schlecht konstruierte Abfragen bzw. schlecht gesetzte Indizes. Wenn Du soetwas auf dem Hals hast dann kannst Du meistens nicht viel machen. Viele Grüße Frank Röder Zitieren
profex-xp 10 Geschrieben 19. September 2008 Autor Melden Geschrieben 19. September 2008 Hallo Frank, danke für die schnelle Info. zur deiner Frage; es handelt sich noch um Sql 2000 mit Sp4. es sind 2 Applikationen = 2 DB's die eine hat 1,3 Gig die andere 10Gig Speichergrösse es sind 50 User die beide Applikationen Zeitgleich auf haben. Dem Arbeitsspeicher habe ich auf 1300MB fest eingestellt. Gibt es eventuell Tunings Tricks im >Bereich SQL`? Zitieren
phoenixcp 10 Geschrieben 19. September 2008 Melden Geschrieben 19. September 2008 Ok,also bei den Dimensionen, die deine Datenbanken haben würde ich folgendes tun: 1. RAM-Upgrade (min. 4 GB, wenn der Windows Server das hergibt, dann dürfen es gut und gerne auch 8 GB sein), dann Erhöhung des verwendbaren Memorys für den SQL Server auf 3072 MB 2. Prüfe ob ein Update auf SQL Server 2005 möglich ist, hier wurde einiges bezüglich der Performance besser gemacht Bei diesen Ausmaßen kann ich aber die Beschwerden deiner Anwender gut nachvollziehen ;) So sehr viel kann man da nicht tunen. Du kannst maximal mit einem Systemausbau gegensteuern. Wie sind die Platten in dem System organisiert? Sind System, Datenbankfiles und Transaktionslogfiles jeweils auf getrennten Platten / RAID's? Zitieren
profex-xp 10 Geschrieben 19. September 2008 Autor Melden Geschrieben 19. September 2008 Hallo phoenixcp, ja die Platten sind Raid1 und System, Datenbankfiles und Transaktionslogfiles liegen auf getrennten laufwerken. Hmm Ich denke mal mehr Speicher wird etwas helfen aber ich habe grade die Schreib und Lesezugriffe im Systemmonitor im Auge und sehe grade das die schreib/lese Zugriffe sehr hohe Spitzen aufweisen und das alle 3-5 Minuten. Zitieren
phoenixcp 10 Geschrieben 19. September 2008 Melden Geschrieben 19. September 2008 Wie sehen die zugehrörigen Warteschlangen aus? Zitieren
profex-xp 10 Geschrieben 19. September 2008 Autor Melden Geschrieben 19. September 2008 >Hallo phoenixcp, diese pendeln im unteren Feld herum, also normal. Keine hohen Spitzen. Zitieren
phoenixcp 10 Geschrieben 19. September 2008 Melden Geschrieben 19. September 2008 Ok... Klingt erstmal nicht so sehr schlecht. Ich vermute mal, das die Lastspitzen beim IO durch Zugriffe auf das Pagefile kommen, weil er jede Menge Zeug hin und her auslagern und einlagern muss, weil sein Arbeitsspeicher nicht ausreicht. Also erstmal ab zum Händler und RAM aufrüsten. Am besten bis ans Maximum der installierten Serveredition und im Anschluss den SQL Server auf mehr Speicher konfigurieren. Damit sollte schonmal einiges gehen... Und dann können wir die Betrachtung gerne fortführen. Zitieren
profex-xp 10 Geschrieben 19. September 2008 Autor Melden Geschrieben 19. September 2008 Hallo phoenixcp, werde dies mal mit unserem Chef durchsprechen und Speicher kaufen! ;0) Danke für die Infos! – Danke an alle für die Hilfe & Antworten. mfg, Andre Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.