Laden...

SQL Server 2008 R2 in VM

Erstellt von Levion vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.841 Views
Levion Themenstarter:in
114 Beiträge seit 2009
vor 13 Jahren
SQL Server 2008 R2 in VM

verwendetes Datenbanksystem: SQL Server 2008 R2

Hi,

ich würde gerne mal wissen, was ihr für Erfahrungen mit der Virtualisierung von Datenbankservern gemacht habt. Wir kämpfen nämlich ständig mit der Performance und unsere Kunden benutzten überwiegend VmWare um ihre Datenbankserver zu hosten. Ich habe den Verdacht, dass man damit die Performance ziemlich reinreißt.

Gruß

Levi

F
10.010 Beiträge seit 2004
vor 13 Jahren

Der R2 läuft eigentlich gut in einer VM, allerdings haben einige Admins die Prio und den Speicher bei den VM's falsch eingestellt.

SQL Server brauchen immer viiieeel Speicher um wirklich performant sein zu können.

Ich hatte neulich mal gesehen das einer unserer Server mit virtuellen 12 Mhz unterwegs war, dann sind die auch nicht sehr schnell.

3.511 Beiträge seit 2005
vor 13 Jahren

Das funktioniert sehr gut. Wie FZelle schon schrieb, muss man da aber einiges bedenken. Z.B. sollte man, wenn man mehrere Kisten aufsetzt, nicht alle auf die gleiche Platte im Host schieben. Da geht natürlich die IO Performance mächtig im Keller.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

Levion Themenstarter:in
114 Beiträge seit 2009
vor 13 Jahren

Wir haben den Server momentan auf 6GB Arbeitsspeicher und bedienen damit ca. 50 Anwender. Das scheint aber zu knapp zu sein.

Unserer Anwendung stellt im wesentlich Datenerfassung und Datenauswertung bereit (Windows-Desktop-Client). Dazu kommen von Zeit zu Zeit größere Generierungsläufe, die schonmal ein paar Stunden dauern können.

Ohne jetzt zu sehr ins Detail gehen zu müssen, was würdet ihr an Arbeitsspeicher empfehlen? Welche Konzepte zur Optimierung kann man noch verfolgen?

Grüße

M
153 Beiträge seit 2010
vor 13 Jahren

Ich sehe das ein wenig anders. Virtualisierung an sich stellt keinen Mehrwert dar und erst recht bessert sich dadurch nicht die Performance. Im Gegenteil: Schon allein das Aufsetzen von Hyper-V führt zu einer Gesamtreduzierung der IO-Performance, im Detail natürlich abhängig natürlich vom Betriebssystem und anderen Faktoren.

Die Frage ist doch: Warum ist die Performance langsam? Sind es Abfragen, die schlecht optimiert sind? Ist das durch häufiges, grobes Locking versursacht? Sind es fehlende oder korrupte Indizes? Stimmt die DB-Struktur? ...

Die allerbesten Ergebnisse bringen - in aller Regel - Anpassungen der Software. Nicht selten sind da Größenordnungen möglich. Auch ich habe zudem sehr gute Erfahrungen mit der Steigerung der RAM-Größe gemacht und, auch das hilft, mit dem Einsatz moderner Festplatten. Konkrete Empfehlungen sind einigermaßen schwierig, weil wir ja nicht wissen, welche RAM-Kapazität dein Server z. B. hat und wie groß die Datenbanken sind.

F
10.010 Beiträge seit 2004
vor 13 Jahren

Ich sehe das ein wenig anders. Virtualisierung an sich stellt keinen Mehrwert dar und erst recht bessert sich dadurch nicht die Performance.

Dann hast du den Sinn von Virtualisierung für ein Unternehmen nicht verstanden.

Levion Themenstarter:in
114 Beiträge seit 2009
vor 13 Jahren

Ich sehe das ein wenig anders. Virtualisierung an sich stellt keinen Mehrwert dar und erst recht bessert sich dadurch nicht die Performance.
Dann hast du den Sinn von Virtualisierung für ein Unternehmen nicht verstanden.

Ich finde der Sinn lässt sich an vielen Stellen in Frage stellen. Oft wird gesagt.

  • Flexibilität weil ich auf Systemen umziehen kann
  • Ressourcenverwaltung lässt sich dynamischer anpassen
  • Sicherung ist einfacher

In der Praxis habe ich aber beobachtet, dass die Admins dazu neigen für jeden popeligen Dienst eine eigene VM aufzusetzen. Anschließend verstopft man sich durch unausgereiftes Ressourcenmanagement das Wirtsystem, blockiert die Bandbreite weil alle VMs mit Updates versorgt werden müssen und und und ...

Virtualisierung kann an einigen stellen Sinn ergeben. Aber für einen Datenbankserver würde ich trotzdem immer ein dediziertes System bevorzugen.

S
18 Beiträge seit 2010
vor 13 Jahren

Ich schließe mich meinem Vorredner an. Die Virtualisierung einer Datenbank ist in 60% aller Fälle sinnlos, in 50% der Fälle, wo es Sinn machen würde, ist die Konfiguration oftmals vollkommen schwachsinnig.

Bei Fragen wie sie der OP gestellt hat wird klar, dass das nötige Knowhow, um zu entscheiden, ob die Datenbank virtualisiert werden soll und wenn ja, wie, gar nicht vorhanden ist. Und hier im Forum und mit einer so unspezifischen Frage wird man daür auch keine ausreichende Antwort erhalten können.

@OP:
Du solltest darüber nachdenken, ein Beratungsunternehmen, was sich mit der Materie auskennt, euer System mal unter die Lupe nehmen zu lassen.

Gruß
stupsnose

F
10.010 Beiträge seit 2004
vor 13 Jahren

@Levion:
Das liegt aber an den Admins, nicht an der Virtualisierung selber.
Es gibt auch trottel als Admins die aus Paranoia jedes Arbeiten im Netz erschweren,
oder DBA's die.....

Aber das sind Fehler der handelnden Personen.

M
153 Beiträge seit 2010
vor 13 Jahren

Na wenn das so ist!

Aber, mal ehrlich: Ich finde es recht ungezogen, jemandem - den man nicht kennt - zu unterstellen, er verstünde den Sinn von etwas nicht, bloß weil man selbst einer Aussage nicht zustimmen kann. Ich glaube übrigens auch nicht an "trottelige Admins".

Nein, Virtualisierung ist kein Mehrwert an sich. Es ist auch nicht immer sinnvoll, ganze Betriebssysteme mit dem jeweiligen Ausführungskontext zu duplizieren und aus wenigen GB Nutzdaten, viele GB Verwaltungsdaten hinzuzufügen.

R
103 Beiträge seit 2009
vor 13 Jahren

Wir haben hier im Unternehmen nen MSSql Server und eine PostgreSql Datenbank in virtuellen Maschinen laufen.. funktioniert alles tadellos und schnell...

ABER

die Vorraussetzungen dass das auch performant läuft sind schon happig (sowohl von den Anschaffungskosten als auch von den Anforderungen an die Konfiguration). Wir haben hier Admins die sich mit der Materie schon seit Jahren beschäftigen und ein Blade Center mit VMware ESX und zertifizierter Hardware betreiben.

Falls du mit "Vmware" z.B. den vmware server meinst, dann ist das definitiv mit hohen I/O Performanceeinbussen verbunden, da das System nur als "Gast" auf dem Betriebssystem aufsetzt. Richtig gut wirds erst mit einem dedizierten VM Betriebssystem und entsprechend zertifizierter Hardware (z.B Netzwerkartentreiber die im hinblick auf virtualisierung optimiert sind).

MsSql Server lässt sich meiner Meinung nach sonst recht gut virtualisieren, zumindest ab Version 2005