greatmgm
Goto Top

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.

Content-Key: 346238

Url: https://administrator.de/contentid/346238

Printed on: April 19, 2024 at 12:04 o'clock

Member: sabines
sabines Aug 14, 2017 at 06:50:11 (UTC)
Goto Top
Moin,

welcher SQL Server soll's denn sein?
Und die Beantwortung Deiner Frage ist von wesentlich mehr Faktoren abhängig, als RAM und RAID.
Bei euch dürfte auch die Anbindung an das RZ wichtig sein.
Suche mal nach dem Stichwort SQL Performance für weitere Tips.

Gruss
Member: greatmgm
greatmgm Aug 14, 2017 at 07:30:31 (UTC)
Goto Top
Aktuell arbeite ich mit dem SQL 2008 R2 Express.
Anbindung ist eigentlich der Hauptgrund meines Testes, also ob das überhaupt zu machen ist.
Da mein "langsamster" Standort ein SDSL 5Mbit bzw. 2 VDSLer mit Upload <=10MBit.
Member: Vision2015
Vision2015 Aug 14, 2017 at 07:57:19 (UTC)
Goto Top
Moin...
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
Member: sabines
sabines Aug 14, 2017 at 08:11:53 (UTC)
Goto Top
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.
Member: clSchak
Solution clSchak Aug 14, 2017 at 09:11:16 (UTC)
Goto Top
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 .... face-wink - alles andere ist nur Raten.

Gruß
@clSchak
Member: greatmgm
greatmgm Aug 14, 2017 at 09:41:12 (UTC)
Goto Top
jeb VPN hab ich. Mein stärkster Standort hat aktuell ein DSL 100/20.
Warum ich ein externes RZ bevorzuge ... naja wenn das DSL in diesem Standort ausfällt (und leider Gottes
passiert das 2-3 Mal im Jahr), dann steht der ganze Betrieb still.
Das RZ garantiert mir 99,9% Ausfallsicherheit. Zum testen könnte man es mal in einen Standort holen, ich
wollte halt gleich mal ein Gefühl für so einen gehosteten Server kriegen :D

Die CPU Auslastung schaue ich mir in den großen Standorten mal an.
Member: SeaStorm
Solution SeaStorm Aug 14, 2017 updated at 14:47:24 (UTC)
Goto Top
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 face-smile 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
Member: greatmgm
greatmgm Aug 14, 2017 at 14:56:46 (UTC)
Goto Top
wie gesagt die gesamte DB wird am Ende ca. 4 Gb haben, könnte also komplett im RAM liegen face-smile
WAN Latenzen war ja ein Grund für mein Testprojekt, also wie verhält sich mein frontend wenn es keinen lokalen
SQL Server mehr hat sondern sich die Daten von "außen" holt.
Habe bei der 1und1 mal ein Testabo für 3 Monate für lau bestellt. Wäre jetzt ein AMD HexaCore 6*2.5GHz mit 16Gb RAM
und Win2016 Standard. Da lässt sich ja schon mal das WAN-Feeling testen.
Member: monstermania
Solution monstermania Aug 14, 2017 updated at 15:01:24 (UTC)
Goto Top
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!!!
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.
Member: JohnWorks
JohnWorks Aug 15, 2017 at 07:17:16 (UTC)
Goto Top
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.
Member: greatmgm
greatmgm Aug 15, 2017 at 07:36:44 (UTC)
Goto Top
schauen wir mal, die nächsten 4 Monate sind Testphase, mal alles vom Angebot bis zu Rechnung, vom Einkauf bis zur Inventur, von der Stückliste zur Montage :D