Dimensionierung SQL Server
Guten Morgen zusammen,
ich will eine Umgebung testen, in der ich die lokalen SQL-Server von 4 Standorten in einen gemeinsamen
zentralen SQL-Server migriere (gehostet bei 1und1 zBsp.)
Bei der Hardware Konfiguration könnte ich jetzt annehmen: 60 Nutzer sind im Schnitt immer parallel drin,
aber während der eine pro Tag eher mit 10-20 Datensätzen einer Tabelle arbeitet, habe ich andere die
bis zu 6000 Datensätze anpacken (Inventur, Controllingsachen etc., Vieles davon werde ich im Laufe der
Testphase in SPs packen um den Traffic so gering wie möglich zu halten)
Für die Dimensionierung des SQL-Servers kann ich doch aber auch die TLogs der Standorte als
Kriterium nehmen oder ?
Die liegen pro Tag zwischen 2 - 150 MB (mal auf die letzte Woche bezogen), die DB-dumps selber
liegen zwischen (aktuell) 0.4Gb - 1.3Gb (in Summe über alle Standorte ca. 3,3Gb)
ein Intel Xeon E3 4*4.8GhZ mit 32GB RAM, und 2TB Raid1 sollte da doch mehr als ausreichen oder ?
Danke für Info.
ich will eine Umgebung testen, in der ich die lokalen SQL-Server von 4 Standorten in einen gemeinsamen
zentralen SQL-Server migriere (gehostet bei 1und1 zBsp.)
Bei der Hardware Konfiguration könnte ich jetzt annehmen: 60 Nutzer sind im Schnitt immer parallel drin,
aber während der eine pro Tag eher mit 10-20 Datensätzen einer Tabelle arbeitet, habe ich andere die
bis zu 6000 Datensätze anpacken (Inventur, Controllingsachen etc., Vieles davon werde ich im Laufe der
Testphase in SPs packen um den Traffic so gering wie möglich zu halten)
Für die Dimensionierung des SQL-Servers kann ich doch aber auch die TLogs der Standorte als
Kriterium nehmen oder ?
Die liegen pro Tag zwischen 2 - 150 MB (mal auf die letzte Woche bezogen), die DB-dumps selber
liegen zwischen (aktuell) 0.4Gb - 1.3Gb (in Summe über alle Standorte ca. 3,3Gb)
ein Intel Xeon E3 4*4.8GhZ mit 32GB RAM, und 2TB Raid1 sollte da doch mehr als ausreichen oder ?
Danke für Info.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 346238
Url: https://administrator.de/contentid/346238
Ausgedruckt am: 05.11.2024 um 12:11 Uhr
11 Kommentare
Neuester Kommentar
Moin...
na ja.. ausreichen schon, bei 60 Uern macht das keinen spass! ich würde ein SSD Raid für die DB nehmen!
was die CPU angeht, bist nur du im bilde... schau mal im Performance Monitor was da an CPU leistung verbraten wird!
ich denke mir aber das deine CPU etwas mager sein könnte, und du besser gleich mit einer E5 anfängst...
Frank
ein Intel Xeon E3 4*4.8GhZ mit 32GB RAM, und 2TB Raid1 sollte da doch mehr als ausreichen oder ?
na ja.. ausreichen schon, bei 60 Uern macht das keinen spass! ich würde ein SSD Raid für die DB nehmen!
was die CPU angeht, bist nur du im bilde... schau mal im Performance Monitor was da an CPU leistung verbraten wird!
ich denke mir aber das deine CPU etwas mager sein könnte, und du besser gleich mit einer E5 anfängst...
Frank
Wenn Du momentan soweiso Express Versionen nutzt, ziehe doch mal spaßeshalber die DB auf Deinen lokalen Server und "horche"
bei den Usern nach, wie die Performance ist.
VPN zwischen den Standort habt ihr?
Und eventuell macht es Sinn den Server nicht ins RZ zu stellen sondern in den Standort mit den performancehungrigsten Usern, dann sind die schon mal glücklich.
Planst Du einen Umstieg auf die Vollversion?
Der 08 R2 ist 1/2020 übrigens EOL.
bei den Usern nach, wie die Performance ist.
VPN zwischen den Standort habt ihr?
Und eventuell macht es Sinn den Server nicht ins RZ zu stellen sondern in den Standort mit den performancehungrigsten Usern, dann sind die schon mal glücklich.
Planst Du einen Umstieg auf die Vollversion?
Der 08 R2 ist 1/2020 übrigens EOL.
Hi
Wenn du die ExpressVersion benutzt und nicht planst auf die Vollversion zu gehen, reichen Theoretisch 16GB RAM aus, die Datenbank kann nicht größer wie 10GB werden, ab dann riegelt der Express ab. (mal pauschal gesagt ...)
Peformancefragen bei SQL sind immer sehr schwierig, in den meisten Fällen ist nicht die CPU oder der RAM das Nadelöhr, es kommt oft viel mehr auf das darunter liegende Storage an (max IOPS + IOPS Latenz, Storage/SAN Latenz, Storage/SAN Durchsatz). Du hast dir zwar 4,8Ghz CPU rausgesucht aber benötigst du das auch? Wie viel Load hat der Server denn? Wir bedienen hier knapp 400 NAV User und der SQL mit 4x3,0Ghz langweilt sich mehr oder weniger (was die CPU betrifft, das SAN braucht schon mehr Leistung ...).
Eine grobe Richtung bekommst über den Aktivitätsmonitor am SQL (wobei "Waiting Tasks" - wenn die "hoch" sind, genauer analysiert werden müssen und man daran auch nichts festmachen kann). Ansonsten über den Performancemonitor von MS, damit kannst auch über längere Zeit Werte ermitteln.
Wenn du die Performancedaten hast, dann kannst auch anfangen mit dem Sizing und weist auch ob du ggf. SSD's benötigst oder nicht, ob du viel RAM brauchst oder nicht, ob du eine 4Ghz CPU benötigst oder nicht .... - alles andere ist nur Raten.
Gruß
@clSchak
Wenn du die ExpressVersion benutzt und nicht planst auf die Vollversion zu gehen, reichen Theoretisch 16GB RAM aus, die Datenbank kann nicht größer wie 10GB werden, ab dann riegelt der Express ab. (mal pauschal gesagt ...)
Peformancefragen bei SQL sind immer sehr schwierig, in den meisten Fällen ist nicht die CPU oder der RAM das Nadelöhr, es kommt oft viel mehr auf das darunter liegende Storage an (max IOPS + IOPS Latenz, Storage/SAN Latenz, Storage/SAN Durchsatz). Du hast dir zwar 4,8Ghz CPU rausgesucht aber benötigst du das auch? Wie viel Load hat der Server denn? Wir bedienen hier knapp 400 NAV User und der SQL mit 4x3,0Ghz langweilt sich mehr oder weniger (was die CPU betrifft, das SAN braucht schon mehr Leistung ...).
Eine grobe Richtung bekommst über den Aktivitätsmonitor am SQL (wobei "Waiting Tasks" - wenn die "hoch" sind, genauer analysiert werden müssen und man daran auch nichts festmachen kann). Ansonsten über den Performancemonitor von MS, damit kannst auch über längere Zeit Werte ermitteln.
Wenn du die Performancedaten hast, dann kannst auch anfangen mit dem Sizing und weist auch ob du ggf. SSD's benötigst oder nicht, ob du viel RAM brauchst oder nicht, ob du eine 4Ghz CPU benötigst oder nicht .... - alles andere ist nur Raten.
Gruß
@clSchak
hast du mal getestet wie deine Anwendung auf einen SQL über WAN Latenzen reagiert?
Die meisten Anwendungen werden da unfassbar lahm, wenn man die Abfragen gegen einen externen Server feuert.
zur Dimensionierung:
CPU: kommt schwer drauf an wie gut deine DBs designed sind und wie viel Last durch die User erzeugt wird.
RAM: Wie gross ist deine DB denn? 32GB ist tendenziell etwas mager. SQL liebt RAM Wenn du allerdings bei Express bleibst, ist 32 völlig OK.
Festplatte: 2TB Raid : Ja ... und was ist da alles drin? ne SSD? Bei SSD: RAID1 passt. Bei HDD: mit einer einzelnen Festplatte(+Mirror) wirst du vermutlich nicht glücklich. Dann auf jeden Fall ein RAID10, also mindestens 4 Platten
Die meisten Anwendungen werden da unfassbar lahm, wenn man die Abfragen gegen einen externen Server feuert.
zur Dimensionierung:
CPU: kommt schwer drauf an wie gut deine DBs designed sind und wie viel Last durch die User erzeugt wird.
RAM: Wie gross ist deine DB denn? 32GB ist tendenziell etwas mager. SQL liebt RAM Wenn du allerdings bei Express bleibst, ist 32 völlig OK.
Festplatte: 2TB Raid : Ja ... und was ist da alles drin? ne SSD? Bei SSD: RAID1 passt. Bei HDD: mit einer einzelnen Festplatte(+Mirror) wirst du vermutlich nicht glücklich. Dann auf jeden Fall ein RAID10, also mindestens 4 Platten
Zitat von @clSchak:
Wenn du die ExpressVersion benutzt und nicht planst auf die Vollversion zu gehen, reichen Theoretisch 16GB RAM aus, die Datenbank kann nicht größer wie 10GB werden, ab dann riegelt der Express ab. (mal pauschal gesagt ...)
Aua!!!Wenn du die ExpressVersion benutzt und nicht planst auf die Vollversion zu gehen, reichen Theoretisch 16GB RAM aus, die Datenbank kann nicht größer wie 10GB werden, ab dann riegelt der Express ab. (mal pauschal gesagt ...)
Ja, bei einem SQL Express kann die DB maximal 10 GB groß werden.
Der SQL Express nutzt max. 1 GB RAM für eine Serverinstanz und kann nur eine CPU (mit mehreren Kernen) nutzen. Selbst bei einem SQL Express mit richtig last drauf zieht der SQL Serverdienst noch nichtmal 2 GB vom RAM-Speicher! D.h. mehr als 4GB RAM macht bei einem reinem Windows Server mit SQL Express keinen Sinn!
Ansonsten hast Du recht. Ohne genaues Monitoring ist das Sizing nur stochern im Nebel.
Aus eigener Erfahrung kann ich sagen, dass der SQL Express sehr oft auch für größere Anwendungen ausreicht (wenn denn nicht Features benötigt werden, die nur eine Vollversion bietet). Wir haben diverse DB seinerzeit von einem SQL2005 Standard auf einem SQL2012 Express umgezogen. Keiner der User hat sich nach dem Umzug je über die Performance beklagt! Und da sind ganz schöne Brocken dabei.
Ich kann nur empfehlen vorher die Anwendung übers WAN zu testen. Unsere Anwendung reagiert grottig auf lange Latenzen und meldet ständig einen Timeout, da macht das Arbeiten nicht wirklich Spaß. Wenn jetzt noch ein Server in einem Allerwelts-RZ mit keiner priorisierten Anbindung dazu kommt, dann GUTE NACHT.