Probleme mit MSSQL 2005 in VM - Server zu langsam?

KGB44

Enthusiast
Thread Starter
Mitglied seit
28.10.2004
Beiträge
1.683
Ort
Starnberg
Hallo,

wir nutzen ein ziemlich bekanntes Ticket-System. Dieses setzt folgende Daten voraus:

- Windows 2000 / 2003 / 2008 x86
- MSSQL 2000 / 2005

Nun nutzen wir dieses Ticket-System schon seit ca. 6 Jahren und haben im vergangenen Jahr von einer "alten" Version (erste Installation) auf die neueste Version upgedated. Das hat soweit Prima geklappt - nur haben wir seitdem einige Performanceprobleme. Die neue Version ist recht aufwändig, bietet dafür aber viele Möglichkeiten. Zu finden ist das Ticket-System auf www.helpline.xx

Nun haben wir vorerst den Server geändert und seit ca. 1 Jahr folgende Konfiguration im Betrieb:

- Intel Core 2 Quad Q6600
- 4096 MB DDR2-RAM
- 2 x 1 TB HDD im RAID1 (Samsung HD103U)
- 2 x 500 GB im RAID1 (Samsung HD501)
- Broadcom Gigabit-PCI-Express Onboard

Als Betriebssystem dient Windows 2003 Standard SP2 x86. Innerhalb einer VMWare (auf VMWare Workstation 6.5) läuft ein weiteres Windows 2003 Standard SP2 x86 mit einem MSSQL 2005 Server mit aktuellstem Patch-Stand.

Nun ist die Kiste wirklich sehr stabil. Täglich wird das VMWare Verzeichnis mit der virtuellen Maschine gesichert (Batch-Datei - Copy) und kann bei Bedarf schnell wieder genutzt werden.

Wie gesagt - es Plagen uns ein paar Performanceprobleme, da innerhalb des Ticket-Systems auch eine inzwischen sehr Umfangreiche Inventarliste angelegt ist (ca. 20.000 Datensätze), welche u.U. abgefragt werden. Diese Datensätze umfassen die Daten von Monitoren, Standorten, Ausstattung, Rechnernname, Idenfifikationsnummer, Anwender etc.

Aktuell arbeiten ca. 12 Leute am Tag im System. In Zukunft sollen es deutlich mehr werden. Nun stellt sich die Frage, wieso das System so langsam ist. Das öffnen eines Datensatzes mit ~ 5000 Einträgen dauert ca. 30 Sekunden. Auch in kleineren Datensätzen ist ein "umherklickern" nicht Möglich - zu oft erscheint die Eieruhr und bremst.

Nun habe ich einen "neuen" Server genommen:

- 8 x Intel Xeon 3.0 GHz
- 16 GB DDR-RAM ECC
- 2 x 76 GB SCSI-320 10.000 UPM
- Broadcom Gigabit-Karte

Darauf läuft jetzt ein Windows 2003 Data Center x86 (nur 32 Bit CPUs) - und darauf eine VMWare Server 2.0 Version. In diese habe ich die oben genannte VMWare integriert und erfolgreich ans laufen bekommen. Die Performance ist etwas besser geworden, wobei ich im VMWare Server leider nur 2 CPUs zuweisen kann - mehr virutelle Cores gibt es nicht.

Aber trotz allem ist die Performance nur unwesentlich besser geworden. Intern sind alle Mitarbeiter mit Gigabit angebunden und der Datendurchsatz liegt bei knappen 70 MB/s.

Was kann man tun um die Anwendung zu beschleunigen? Die Datenbanken sind auf zwei Datenbanken aufgeteilt: System und Data. Die Systemdatenbank ist ca. 90 MB groß, die Data-Bank ca. 6 GB.

Würde es etwas bringen, die virtuelle Maschine "aufzulösen" und den Server "nativ" zu nutzen? Oder sollte man ggf. auf schnellere HDDs setzen?

Danke!
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
aehm, vmware workstation, sonst gehts noch :fresse:

wie waers wenn du auf ESXi umsteigst und die hdd arrays als raw device an die VMs durchreichst
 
ich nutze ein VMware Server um mit Webservern Apache mysql usw herumzuspielen host 2003 VMs 2003
hatte nun diese jahr auch auf ein neues sytem gewechslt was gut hartwaretechnisch 10x schneller ist
jedoch blieben php und datenbankscripte gleich langsam wen ich vom netzwerk darauf zugegriffen hab die VM's waren auf eine gbit(Pro1000 Server) karte gebridgt zur Kommunikation untereinander und extern

also richtet ich weitere NIC's ein die aber nur in einem VM VLAN blieben da der apache und der mysql in einer eignen vm laufen
nun war schon mal eine Beschleunigung von gut 20% spürbar zusätzlich hatte ich mit iperf den netzwerkdurchsatz getestet 400Mbit FD und 8xxMbit HD also konnte es daran nicht liegen

so testete ich zu guter letzt den zugriff über das host system mit einem einfachen port maping tool was über einen host only adapter in das VM VLAN mapte
die webseiten und datenbankabfragen waren in dem moment wo ich die aktion ausführte da wie mit zwei echten systemen keine verzögerung mehr
 
Datenbanken in VMWare sind meist nur wenig performant. Allerdings dürfte das neue System doch eigentlich klar überdimensioniert sein für die Mini-Datenbank.

Du solltest vielleicht mal rausfinden an was es vor allem klemmt (CPU-Last oder IO) und was für Abfragen am meisten gemacht wurden. Die 6 GByte Datenbank würde ja auch komplett im RAM zu liegen kommen - zumindest mit nem 64-Bit-OS und genug konfguriertem RAM.

Vielleicht fehlen auch bloß ein paar Indexe in der Datenbank.

Normal würde ich sagen, das erste System ist ausreichend für die Datenbank, wenn man den DB-Server nativ da drauf betreibt. Muß der DB-Server unbedingt in ner VMWare laufen ?
 
Nein, eigentlich nicht. Es ging mir nur darum, dass im Fall eines Crashes - sofort die Daten "bereit" sind und ich auf einem anderen Rechner (steht direkt daneben) nur VMWare Starten muss und die gesicherte Version starten kann.

VMWare Workstation ist dafür eigentlich genauso geeignet wie z.B. VMware Server o.ä.

Kann man aus einer virtuellen Maschine ein "natives" System machen? z.B. mit Acronis True Image Server ein Backup innerhalb der virtuellen Maschine ziehen und dann dieses auf einen "echten" Server ziehen?

Problem an VMWare Workstation, VMWare Server 2.0 sind die Begrenzungen auf 2 Kerne. Nur der ESXi kann mehr - den habe ich schon getestet. Kein Gewinn - und die Lizenz ist sehr teuer. Zumal eine passende Backup-Strategie nicht so einfach zu realisieren ist, wie z.B. bei VMWare Work. oder Server.

Ich könnte die gesamte VMWare auch auf ein kleines SAN legen. Wäre ein 10 TB RAID 5 mit Seagate Barracuda 1 TB HDDs. Vermutlich ist das Problem aber die Zugriffszeit - die CPU Last pendelt sich bei großen Abfragen bei ~ 75% ein.
 
Tut mir leid, aber ich glaube ihr habt da in dem Laden einfach viel zu viel Geld :-D

Die Kiste ist wie oben bereits erwähnt wurde deutlich überdimensioniert. Die Probleme kommen meiner Meinung nach

a) zum Großteil von dieser (sinnfreien) VMware-Konstellation
b) von einem falsch konfigurierten MSSQL-Server

Gerade in den Serverinstellungen kann man viel machen bei der 2005er. Nicht außer Acht zu lassen sind jedoch die Indexe. Gerade vor wenigen Tagen hatte ich auf einem nativen Server auf einer MySql-DB einen Index entfernt. Die entsprechende Tabelle enthielt ca. 6000 Datensätze mit ca. 25 Spalten. Hauptsächlich passieren dort nur Selects auf 3 Spalten, also absolut nix wildes. Nach dem Droppen des besagten Indexes stieg die Load von i.d.R. < 5% auf ~50%!

Soviel dazu. Mein Lösungsvorschlag:

a) Weg mit der VM! --> Natives System. Notfalls auch Neuinstallation von dem MSSQL-Server - sei nicht so faul ;-)
b) Richtige Konfiguration des SQLServers (gibts genug Tutorials im Netz).
c) Monitoring der Queries und anschließende Auswertung. Davon ausgehend sinnvolle Indexe setzen.

PS: Der oben erwähnte Server hat leistungstechnisch ca. 1/5 von deinem oben - wenn überhaupt! Und die Datenmengen sind ca. identisch, die dort verwaltet werden. Benutzeranzhal auch. Ob MySql oder MSSql macht bei dieser Betrachtung übrigens keinen großen Unterschied :-)
 
Bah - die ganze Applikation neu installieren... Wenn da nur der DB-Server wäre - kein Problem. Aber die Installation des Ticket-Systems............................................:grrr:
 
Ist das sinnvoll, das Ticket-System auf dem DB-Server zu betreiben ?

Zur Backup-Strategie: Ein Dump vom SQL (und das ggf. auch wieder Einspielen) ist schnell und einfach erledigt. Evtl. sich ändernde Skripte des Ticket-System kann man ja einfach kopieren. Somit dürfte ein Image weitgehend überflüssig sein - nur nach der Installation einmal.

Von VM auf native System konvertieren kannst du ja mal testen:
- Image erstellen
- Image aufspielen
- Reparaturinstallation durchführen und dabei gleich evtl. RAID-/SCSI- Treiber einbinden.

Um ein konsistentes Image zu haben, solltest du den DB-Server stoppen während der Image-Erstellung.
 
Nun habe ich einen "neuen" Server genommen:

- 8 x Intel Xeon 3.0 GHz
- 16 GB DDR-RAM ECC
- 2 x 76 GB SCSI-320 10.000 UPM
- Broadcom Gigabit-Karte

Von der Prozessor und Ram Power ist/sollte es kein Problem sein, jedoch sind 2 Festplatten zu wenig um eine vernüftige I/O Leistung bei der Virtualisierung zu bekommen.

VM's genauso wie DB's leben von einem schnellen I/O Subsystem. Nachdem der ESXi ja nun auch frei verfügbar ist, solltet ihr auch mal ein Auge auf diesen werfen.

Der ESXi ist performanter als OS+Vmware Host und ein betreiben der bestehenden VM's unter ESXi ist kein Problem.
 
Kann man im ESXi auch ein neues "Data Storage" wie im VMWare Server 2.0 anlegen? Dort kann man sogar über einen einfachen UNC-Pfad eine neue "Festplatte" hinzufügen.
 
UNC-Pfade für eine Datastorage, das am besten noch potetent sein soll ... wenn ich das schon lese ... komm doch mal weg von diesen komischen Mischversionen :d Geld scheint bei euch ja weniger das Problem zu sein. Warum also nicht einfach n paar mehr Platten, n schmuckes Raid und fertig? Und selbst dann würde ich auf der Kiste keine VM installieren, sondern sie nur für das Ticketsystem werkeln lassen.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh