Hallo, ich suche eine Möglichkeit, herauszufinden wieviel Ram ein MS SQL Server wirklich benötigt. Wir setzen hier eine Software ein die diesen benötigt. vorgabe vom Hersteller der darauf aufbauenden Software sind min 64GB für den SQL Server. Nun nimmst sich der SQL Server auch die 64GB, ich würde jetzt gerne herausfinden wieviel Speicherstellen in einer bestimmten Zeit wirklich gelesen/geschrieben werden. Also ob z.b. 3/4 von den 64GB nie gelesen oder geschrieben werden. Gibt es dazu eine Möglichkeit?
Johannes M. schrieb: > Gibt es dazu eine Möglichkeit? nein, nicht das ich wüsste. Ihr könnt nur den Speicher einfach mal auf 32GB begrenzen und schauen wie dann euer System läuft. wir haben Datenbanken mit 500GB und haben meist nur 16GB Ram. Muss man halt testen was man wirklich braucht, kann man selten pauschal sagen. Mehr RAM schadet zwar nicht, bringt aber auch nicht immer die erhoffte Verbesserung.
Ok Schade, Problem ist hier der Hersteller, der sagt wir würden das so benötigen und die Fachaufgabe auf den Hersteller hört und nicht auf uns (interne IT-Abteilung). Und wir müssen das ganze dann so Hosten, Problem ist dabei das der SQL Server in einer VM liegt. Nur diese können wir nicht auf einen anderen Host schieben, weil er zu viel Rem benötigt. D.h. Hat der Host ein Problem ist auch die VM weg. Jetzt hätte es mich einfach mal intressiert ob der wirklich den ganzen Ram benötigt. Beim Anwendungsserver der auf den SQL Server zugreift war z.b. die Forderung des Herstellers 32GB, wirklich genutzt werden 3 GB :-D
Win7: Windows Task-Manager : Ansicht : Spalten auswählen : Arbeitsspeicher - Arbeitssatz. Englisch klingt es als "Working Set" überzeugender. Das ist nämlich der Fachbegriff für jene Menge an Speicher, auf den leidlich kurzfristig auch wirklich zugegriffen wird. Gibts garantiert auch in dem Kurven bildenden Performance-Tool.
:
Bearbeitet durch User
Johannes M. schrieb: > Und wir müssen das ganze dann so Hosten, Problem ist dabei das der SQL > Server in einer VM liegt. Das sollte es eigentlich erleichtern. Erstens weil der Hypervisor möglicherweise seinerseits eine Working Set Statistik liefert. Zweitens weil es damit umso einfacher ist, verschiedene Speicherkonfigurationen durchzuprobieren.
Johannes M. schrieb: > Problem ist hier der Hersteller, der sagt wir würden das so benötigen ja kenne ich, bei einem Zahnarzt mit 3 Sprechzimmer musste es zwingend ein SQL-Server Standard sein - für eine 500Mbyte Datenbank. Wie sind auf Risiko gegangen und haben SQL-Express installiert - läuft reibungslos. Wenn ihr euch an den Hersteller halten MÜSST, dann müsst ihr eure Cluster halt entsprechend aufrüsten - oder ihr macht den Test mit weniger Ram. Muss halt jemand entscheiden, der auch etwas entscheiden darf.
Ich habe jetzt schon länger nicht mehr mit den aktuellen MS SQL gearbeitet, aber früher waren immer gute Profiling und Analyse Tools dabei, vielleicht geben die heute auch Hinweise zur Resourcennutzung? Das meiste brachte immer eine Optimierung der Indizies, bei Tabellen mit vielen Zeilen den Faktor 1000 und mehr.
A. K. schrieb: > Win7: Windows Task-Manager : Ansicht : Spalten auswählen : > Arbeitsspeicher - Arbeitssatz. PS: oder die "private" Variante. Ich mag kein Deutsch. In solchem Zusammenhang.
:
Bearbeitet durch User
A. K. schrieb: > Win7: Windows Task-Manager : Ansicht : Spalten auswählen : > Arbeitsspeicher - Arbeitssatz. Das Problem dabei wird sein, das der SQL-Server im zweifelfall alle Cacht. Es wird also jeder Bereich mal gelesen. Auch gibt der Server seinen RAM nur wieder frei, wenn ihm das System ein Event schickt.
Konkretes Beispiel eines recht aktiven 32GB Servers mit MS-SQL und OLAP für Data Mining. Die untere Kurve ist das, was VMware ESXi als aktiven Speicher betrachtet.
:
Bearbeitet durch User
Johannes M. schrieb: > Ok Schade, > > Problem ist hier der Hersteller, der sagt wir würden das so benötigen > und die Fachaufgabe auf den Hersteller hört und nicht auf uns (interne > IT-Abteilung). > Da hat meines Erachtens die "Fachaufgabe" recht. Wenn der Hersteller diese Anforderungen hat, sollte man diese einhalten. Ansonsten kann der Hersteller jederzeit sagen, dass seine Spezifikation nicht eingehalten worden ist und somit keine Verantwortung übernommen wird. Wenn die Anforderungen nicht erfüllbar oder einem nicht korrekt vorkommen, so hat man entweder die Freiheit einen anderen Anbieter zu suchen, oder mit dem jetzigen in Verhandlung treten. Meist sind diese Anforderungen pauschal dargestellt. Fragt nach ob es auch mit weniger geht und lasst euch die Minimalanforderungen für euren Anwendungsfall schriftlich geben.
Ganz prima, der Hersteller der Software gibt aus leidigen Erfahrungen eine Minimalveraussetzung vor, und die lokale IT weiß es natürlich wieder besser. 2 Monate später macht die Fachabteilung dann einen Heidentrara beim Hersteller weils Fehler gibt und alles so langsam ist, die Hotline des Herstellers verbrät Stunden und Tage damit Logs anzufordern und zu analysieren um die vermeintlichen Fehler zu finden und am Ende stellt sich raus die Vollhonks der lokalen IT wollten die Software entgegen allen kommunizierten Anforderungen unbedingt auf dem 8 Jahre alten Server laufen lassen, den sie irgendwo unter einem Tisch oder im Keller gefunden hatten. Aber immer ist der Hersteller schuld. Been there, seen that, ...
Der Andere schrieb: > Ganz prima, der Hersteller der Software gibt aus leidigen Erfahrungen > eine Minimalveraussetzung vor, und die lokale IT weiß es natürlich > wieder besser. Es gibt Unternehmen die wirtschaftlich denken müssen, und ich habe schon einige male Herstellerangaben gesehen die viel zu viel überdimensioniert werden. z.b. Mindestens 8GB Ram und dann wird nur eine SQL-Express der nur 2-3GB verwendet kann. (mehr läuft auf dem System nicht). Da kann man halt selber entscheiden nur 4GB einzusetzen. Wenn dir dein Autohersteller sagt, du sollte nur Super+Plus von Aral Tanken machst du es dann?
Da würde ich doch gar nicht drüber nachdenken - das Problem mit Hardware zu erschlagen (64GB reg ECC / DDR3) kosten derzeit rund 400 EUR - da kann man nicht viel länger als 4 Stunden versuchen das Problem zu lösen. Und hat dann eine nicht vom Hersteller freigebene Lösung... Falls man nur auf 32GB kommt, hat man auch nur die Hälfte gespart..
Peter II schrieb: > > Wenn dir dein Autohersteller sagt, du sollte nur Super+Plus von Aral > Tanken machst du es dann? Wenn die Anforderung im Vertrag steht und ich etwas anderes tanke, dann ist das meine Verantwortung. Läuft etwas nicht, geht etwas kaputt und der Hersteller kann nachweisen, dass ich bei anderen getankt habe, dann bin ich der dumme. Und das Beispiel ist falsch, der Hersteller sagt, tanke SuperPlus und du tankst Normal Benzin. Geht, kann aber auch schief gehen. Der Hersteller ist dann fein raus.
Der Andere schrieb: > Ganz prima, der Hersteller der Software gibt aus leidigen Erfahrungen > eine Minimalveraussetzung vor, und die lokale IT weiß es natürlich > wieder besser. Umgekehrte Perspektive in langjähriger Erfahrung: Softwarehersteller gibt eine Mindestkonfiguration vor, die ungefähr dem entspricht, was man zu diesem Zeitpunkt als Server-Hardware zu vertretbaren Preisen auf dem Markt kriegt. Server-Admin weiss jedoch, dass in 3 von 4 Fällen nicht mal die Hälfte davon wirklich benötigt wird. Das schöne an Virtualsierung ist aber, dass man das jederzeit anpassen kann. Rauf wie runter, sofern insgesamt genug da ist.
Jörg M. schrieb: >> Wenn dir dein Autohersteller sagt, du sollte nur Super+Plus von Aral >> Tanken machst du es dann? > > Wenn die Anforderung im Vertrag steht und ich etwas anderes tanke, dann > ist das meine Verantwortung. Läuft etwas nicht, geht etwas kaputt und > der Hersteller kann nachweisen, dass ich bei anderen getankt habe, dann > bin ich der dumme. aber es ist DEIN Auto, man kann damit machen was man will. Genauso mit Software. Klar darf ich mich nicht beim Hersteller beschweren wenn etwas nicht so läuft wie gedacht.
SR schrieb: > Da würde ich doch gar nicht drüber nachdenken - das Problem mit Hardware > zu erschlagen (64GB reg ECC / DDR3) kosten derzeit rund 400 EUR - da > kann man nicht viel länger als 4 Stunden versuchen das Problem zu lösen. sehr eng gedacht, wenn ist wenn in den node schon 128GB drin stecken und alle Stecklätze voll sind? Oder es kommen noch Lizenzkosten hinzu. Wenn es dann noch RAM von IBM sein muss wird es noch teuer. Wenn jemand bereit ist es zu zahlen, ist es die "einfachste" Lösung.
SR schrieb: > Da würde ich doch gar nicht drüber nachdenken - das Problem mit Hardware > zu erschlagen (64GB reg ECC / DDR3) kosten derzeit rund 400 EUR - da > kann man nicht viel länger als 4 Stunden versuchen das Problem zu lösen. Vorausgesetzt der VM-Host hat noch Platz dafür - hier geht es ja um eine VM. Das sind Geräte, die man heute lieber gleich mit 0,5TB RAM ausstattet. Aber bei locker mal 50-100 VMs drauf kriegt halt nicht jede VM ihre 64GB.
:
Bearbeitet durch User
Peter II schrieb: > Jörg M. schrieb: >>> Wenn dir dein Autohersteller sagt, du sollte nur Super+Plus von Aral >>> Tanken machst du es dann? >> >> Wenn die Anforderung im Vertrag steht und ich etwas anderes tanke, dann >> ist das meine Verantwortung. Läuft etwas nicht, geht etwas kaputt und >> der Hersteller kann nachweisen, dass ich bei anderen getankt habe, dann >> bin ich der dumme. > > aber es ist DEIN Auto, man kann damit machen was man will. Genauso mit > Software. Klar darf ich mich nicht beim Hersteller beschweren wenn etwas > nicht so läuft wie gedacht. Korrekt, wenn man die Gewährleistung verlieren möchte, kein Problem. Habe ich oben auch nichts anders behauptet. Im geschäftlichen Bereich würde ich das Risiko für die paar Kröten nicht eingehen.
Problem ist hier wirklich der Hersteller, m.E. nach eine kleine Bude die es gerade so hinbekommt die Software ans laufen zu bekommen. Die 64+32GB waren die minimal Anforderung! Wenn man dann sieht das auf dem Server der 32Gb braucht durch die Bank nur 3GB belegt sind kommt man sich schon etwas veräüüelt vor ;) Und laut VMware ist bei der 64GB Maschine der Ram nie über "aktiven" 8GB! Die Software ist eine Abrechungssoftware für Strom/Gas/Wasser Anbieter und selbst bei der Jahresverbrauchsabrechnung für alle Kunden wurde nicht wirklich mehr Speicher benötigt!
Peter II schrieb: > Es gibt Unternehmen die wirtschaftlich denken müssen, und ich habe schon > einige male Herstellerangaben gesehen die viel zu viel überdimensioniert > werden. Wahrscheinlich aus leidvoller Erfahrung. ich habe hier mindestens 1 Fall im Monat wo es mit bis zu 100 Einträgen im Hotlineticketsystem endet und die Ursache uralte viel zu kleine Hardware ist. Extremstes Beispiel: Eine internationale Bank, Niederlassung in einem europäischen Land. Aufgabe Software die Millionen Kunden und Transaktionen bzgl. gesetzlichen Auflagen zu "Financial Crime Prevention" prüfen muss. Der Kunde jammert alles ist so langsam, sie hätten einen 64 Core Rechner mit 256G RAM und unsere Software wäre so langsam ... Das Thema war erst beendet, als ich dem Kunden mit einem Testprogramm zweifelsfrei nachweisen konnte daß sein Super Rechner etwa 1/3 der Rechenleistung eines 4 Jahre alten 800 Euro teuren Core I7 Desktop Rechner der nur auf einem thread belastet wird hatte. Schon bei 2 parallelen Prozessen nahm die Summe der Rechenleistung bei dem Kundenrechner nicht mehr zu, und ab 4 paralleler Prozesse sogar ab. Wie gesagt, ich sehe das hier regelmäßig. Und ständig kommt der Vertrieb und die Beratungsabteilung und will dich auf deine Minimalanforderungen festnageln, bei einem mehrfachen als dort angegebenen Datenvolumen. Und der Kunde halbiert das dann noch mal. Irgendwann setzt du deine Minimalanforderungen dann NATÜRLICH hoch.
Johannes M. schrieb: > Und laut VMware ist bei der 64GB Maschine der Ram nie über "aktiven" > 8GB! > > Die Software ist eine Abrechungssoftware für Strom/Gas/Wasser Anbieter > und selbst bei der Jahresverbrauchsabrechnung für alle Kunden wurde > nicht wirklich mehr Speicher benötigt! Wenn das so ist, dann ist der Hersteller allerdings etwas Gaga mit seinen Anforderungen!
Johannes M. schrieb: > Und laut VMware ist bei der 64GB Maschine der Ram nie über "aktiven" > 8GB! > > Die Software ist eine Abrechungssoftware für Strom/Gas/Wasser Anbieter > und selbst bei der Jahresverbrauchsabrechnung für alle Kunden wurde > nicht wirklich mehr Speicher benötigt! dann muss du halt jemand finden, der das Risko eingeht zu sagen, wir verwenden mal mit 16GB ram und schauen was passiert. Der Andere schrieb: > Wie gesagt, ich sehe das hier regelmäßig. ich sehen es halt von der Anwenderseite. Der Hersteller weiß oft nicht wie und in welchen Umfang ich die Software nutze. Wenn MS für Excel sagt es braucht mindestens 8GB ram, weil damit damit auch wirklich große Excel's mit Privot erstellen kann, ich mir aber sicher bin das ich das nicht mache, dann kann ich auch mit 4GB gut arbeiten.
Johannes M. schrieb: > Und laut VMware ist bei der 64GB Maschine der Ram nie über "aktiven" > 8GB! wie groß ist denn die Datenbank?
Laut SQL Server: Größe: 111360MB Wobei die Anfangsgröße schon bei 2 Files a 55GB festgelegt wurde. Ich vermute es wird nicht alles mit Daten belegt sein.
Johannes M. schrieb: > Laut SQL Server: > Größe: 111360MB also recht wenig, dafür 64GB ram sehe ich auch als zu viel an. Es gibt einige die sagen 10% von der Datenbankgröße soll der Ram sein. Wir selber verwenden sogar noch weniger und es läuft sehr gut. > Wobei die Anfangsgröße schon bei 2 Files a 55GB festgelegt wurde. > Ich vermute es wird nicht alles mit Daten belegt sein. doch, das wird schon aufgefüllt. Man könnte man über den Manager schauen, wie viel Frei ist.
Nachtrag: man kann aber auch mit einer 100Mbyte Datenbank 128GB Ram ausnutzen, wenn man seht ungeschicktes SQL macht.
A. K. schrieb: > Server-Admin weiss jedoch, dass in 3 von 4 Fällen nicht > mal die Hälfte davon wirklich benötigt wird. VM-Host mit 384 GB RAM und ~120 VMs (128MB..16GB): 325 GB sind den VMs zugewiesen, nur 50 GB werden laut Hypervisor aktiv verwendet.
:
Bearbeitet durch User
A. K. schrieb: > Vorausgesetzt der VM-Host hat noch Platz dafür - hier geht es ja um eine > VM. Das sind Geräte, die man heute lieber gleich mit 0,5TB RAM > ausstattet. Aber bei locker mal 50-100 VMs drauf kriegt halt nicht jede > VM ihre 64GB. Für genau dieses Problem wurden Container erfunden (gemeinsamer Kernel, gemeinsames RAM, isoliertes Userland, siehe z.B. LXC, Docker, etc). Gibts was vergleichbares nicht auch für Windows?
Bernd K. schrieb: > Für genau dieses Problem wurden Container erfunden (gemeinsamer Kernel, > gemeinsames RAM, isoliertes Userland, siehe z.B. LXC, Docker, etc). Docker-Container sind eine feine Sache, aber kein genereller Ersatz von VMs. Selbst bei an sich gleichem Grundsystem. > Gibts was vergleichbares nicht auch für Windows? Docker gibts auch für Windows.
Ein Taskmanager Ersatz waere ProcessExplorer, im wahrsten Sinne. Zeigt viel mehr information wie der Taskmanager, hinunter auf Thread Ebene.
Hi, wie viel RAM ein SQL Server nutzt kann schon vermessen werden. Ein Wert kann mit dem Windows Performance Monitor aufgezeichnet werden. PLE oder Page Life Expectancy beschreibt, wie lange die älteste Seite im Page-Buffer-Cache verweilt. D.h. solange der Wert nicht zu niedrig ist, ist alles OK. Mal ein paar Queries und Infos zum Thema MSSQL und Memory: https://sqlserverperformance.wordpress.com/2010/10/08/sql-server-memory-related-queries/ Du kannst auch die SQL Funktion "DBCC MEMORYSTATUS" nutzten um Info's über die Speicherauslastung im SQL Server zu bekommen. Also wenn der PLE die ganze Zeit am wachsen ist und dir DBCC MEMORYSTATUS anzeigt, dass der SQL Server den RAM nicht komplett nutzt, kannst Du auch von den 64GB runter, oder dass du auch ggf. mehr brauchst, hängt von der Anwendung und der DB ab. Bitte keine Pauschalen wie 10% Size der DB verwenden, messen ist besser. bis dann David
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.