none
Testumgebung vs Instanzen RRS feed

  • Frage

  • Hallo,

    Frage an erfahrene Entwickler.
    Welche Variante für das betreiben eines SQL Server 2014 (Standard Edition) ist optimal?

    1. mehrere Instanzen (Produktiv, Test, Entwicklung) auf einem Rechner
    2. getrennt 1.Rechner=Produktiv , 2.Rechner=Test und Entwicklung (Developer-Edition)

    Tendenz geht zur 1.Variante, da kostengünstiger (Hardware) oder gibt es klare Argumente für die zweite Variante?


    Gruß ro_grille

    Samstag, 13. Februar 2016 09:51

Antworten

  • Hi,

    ich würde alleine schon aus Gründen der Verfügbarkeit, die ja anscheinend doch recht wichtig ist, mind. zwei baugleiche Systeme einplanen.

    Ok, ich selbst würde wahrscheinlich, vorbehaltlich einer genaueren Prüfung, VMs einsetzen, die dann im Fall der Fälle problemlos auf einem anderen Host einsetzbar wären. Aber das kann man auch nicht verallgemeinern.

    Eine SSD als primären Datenspeicher einzusetzen, ist IMHO recht mutig. Ob das nun wirklich so viel bringt wie Du dir davon erhoffst, kann ich mangels eigener Prüfungen nicht sagen. Wenn man aber dem hier:

      http://www.schneider-wulf.de/blog/performance-steigerung-mit-ssd-platten-bringt-...-rein-gar-nichts/

      http://sqlperformance.com/2014/11/io-subsystem/knee-jerk-performance-tuning-just-add-ssd

      http://sqlmag.com/storage/using-solid-state-disks-sql-server-storage-solutions

    Glauben schenken mag, bringt es oft nicht viel bis gar nichts. Aber auch hier kommt es natürlich wieder auf den Einzelfall und dessen individuelle Anforderungen an. Eine SSD kann, wie viiiiiiiiiiel RAM auch, keine Probleme beseitigen, die bspw. in der Datenbankstruktur, schlechten Anwendungen, ... liegen.

    Ich hab mal eine sehr stark beanspruchte Temp DB auf eine SSD auslagern lassen, das wiederum hat in dem dortigen Fall schon einiges gebracht. Die restlichen Datenbanken liegen aber nach wie vor auf normalen Platten bzw. anderen Speichern.

    Bzgl. deiner "Datensicherungsplatte": Du weißt aber schon, dass das maximal für eine Kurzzeitspeicherung bis zur eigentlichen Datensicherung, die auf einem anderen System stattfinden sollte, im besten Fall auch nicht im selben Raum/Gebäude/Planet bzw. wenn möglich, gleich in einer anderen Galaxie (gibt ja jetzt genug neue Auswahlmöglichkeiten, nachdem Forscher mal "einfach so" 883 neue Galaxien entdeckt haben^^). Auf jeden Fall nicht im gleichen Rechner.

    Bzgl. der Grafikkarte muss ich passen, nicht meine Baustelle :)

    Evtl. melden sich noch andere, die mehr zu deinem geplanten System sagen können. Ich persönlich würde mir da nochmal in mich gehen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Samstag, 13. Februar 2016 16:00
    Moderator
  • Am 13.02.2016 schrieb ro_grille:

    es sind ca. 15 Datebanken mit ca. 40 Tabellen/Datenbank.
    Zugriff ist mit 30-40 Usern angedacht, Tendenz bei weiterer Entwicklung steigend.
    Final-Datenbank bearbeitet ca. 12 Mio Datensätze, Speicherbedarf ca. 100-130 GB.
    Normal Speicherbedarf/Datenbank ca. 300 MB.

    Aus meiner Sicht sollte der Rechner mit folgender Hardware ausgestattet sein:

    - BS Window Server 2012 64 bit + MSSS 2014 64 bit
    - SSD primär 500 GB , 2. Festplatte 2 TByte (Datensicherung)
    - CPU i7-4xxxK 4,3 GHz, RAM 32- 64 GB DDR4
    - Grafikarte Nvidia Geforce GTX 970 (Berichtrendering+ Entlastung CPU)

    Mir fehlt hier die Ausfallsicherheit. Wo ist das RAID-System? Für das
    OS ein RAID1, für die Datenbanken ein Raid10. Jeweils natürlich eine
    Hotspare HDD mit einplanen.

    SSD ist IMHO auch oversized, wenn Du schnelle SAS Platten nimmst, 15K
    sollten schon drehen, reicht das völlig aus. Und die sind auch genau
    dafür gemacht und haben auch 24/7 Support.

    Für zwei Rechner mit annährend gleicher Ausstattung wären die Kosten schon sportlich ...

    Und dabei hast Du IMHO die Lizenzkosten noch gar nicht erfasst.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    HowTos zum WSUS Package Publisher http://www.wsus.de/wpp
    GPO's: http://www.gruppenrichtlinien.de
    NNTP-Bridge für MS-Foren: http://communitybridge.codeplex.com/

    • Als Antwort markiert ro_grille Montag, 15. Februar 2016 09:08
    Samstag, 13. Februar 2016 17:45

Alle Antworten

  • Hi,

    von welchen Größenordnungen hinsichtlich Datenbanken, Speicherverbrauch, CPU Nutzung, Anzahl gleichzeitiger Zugriffe, usw. reden wir denn?

    Eine ganz allgemeine Empfehlung kann man eigentlich nicht geben, wenn man die Bedingungen, die an die Instanzen und die Hardware gestellt werden, nicht kennt.

    Bei kleinen, unkritischen Systemen, die nicht sonderlich viel Last produzieren, würde eigentlich rein technisch nichts gegen einen Server mit mehreren Instanzen sprechen. Ob das aber nun wirklich so gemacht werden soll, hängt von vielen Faktoren ab, die wir hier nicht kennen. Poste doch mal ein paar mehr Details zu euren Instanzen, deren Verwendung, ...


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Samstag, 13. Februar 2016 12:00
    Moderator
  • Hallo,

    es sind ca. 15 Datebanken mit ca. 40 Tabellen/Datenbank.
    Zugriff ist mit 30-40 Usern angedacht, Tendenz bei weiterer Entwicklung steigend.
    Final-Datenbank bearbeitet ca. 12 Mio Datensätze, Speicherbedarf ca. 100-130 GB.
    Normal Speicherbedarf/Datenbank ca. 300 MB.

    Aus meiner Sicht sollte der Rechner mit folgender Hardware ausgestattet sein:

    - BS Window Server 2012 64 bit + MSSS 2014 64 bit
    - SSD primär 500 GB , 2. Festplatte 2 TByte (Datensicherung)
    - CPU i7-4xxxK 4,3 GHz, RAM 32-64 GB DDR4
    - Grafikarte Nvidia Geforce GTX 970 (Berichtrendering+ Entlastung CPU)

    Für zwei Rechner mit annährend gleicher Ausstattung wären die Kosten schon sportlich ...


    Gruß ro_grille

    Samstag, 13. Februar 2016 15:20
  • Hi,

    ich würde alleine schon aus Gründen der Verfügbarkeit, die ja anscheinend doch recht wichtig ist, mind. zwei baugleiche Systeme einplanen.

    Ok, ich selbst würde wahrscheinlich, vorbehaltlich einer genaueren Prüfung, VMs einsetzen, die dann im Fall der Fälle problemlos auf einem anderen Host einsetzbar wären. Aber das kann man auch nicht verallgemeinern.

    Eine SSD als primären Datenspeicher einzusetzen, ist IMHO recht mutig. Ob das nun wirklich so viel bringt wie Du dir davon erhoffst, kann ich mangels eigener Prüfungen nicht sagen. Wenn man aber dem hier:

      http://www.schneider-wulf.de/blog/performance-steigerung-mit-ssd-platten-bringt-...-rein-gar-nichts/

      http://sqlperformance.com/2014/11/io-subsystem/knee-jerk-performance-tuning-just-add-ssd

      http://sqlmag.com/storage/using-solid-state-disks-sql-server-storage-solutions

    Glauben schenken mag, bringt es oft nicht viel bis gar nichts. Aber auch hier kommt es natürlich wieder auf den Einzelfall und dessen individuelle Anforderungen an. Eine SSD kann, wie viiiiiiiiiiel RAM auch, keine Probleme beseitigen, die bspw. in der Datenbankstruktur, schlechten Anwendungen, ... liegen.

    Ich hab mal eine sehr stark beanspruchte Temp DB auf eine SSD auslagern lassen, das wiederum hat in dem dortigen Fall schon einiges gebracht. Die restlichen Datenbanken liegen aber nach wie vor auf normalen Platten bzw. anderen Speichern.

    Bzgl. deiner "Datensicherungsplatte": Du weißt aber schon, dass das maximal für eine Kurzzeitspeicherung bis zur eigentlichen Datensicherung, die auf einem anderen System stattfinden sollte, im besten Fall auch nicht im selben Raum/Gebäude/Planet bzw. wenn möglich, gleich in einer anderen Galaxie (gibt ja jetzt genug neue Auswahlmöglichkeiten, nachdem Forscher mal "einfach so" 883 neue Galaxien entdeckt haben^^). Auf jeden Fall nicht im gleichen Rechner.

    Bzgl. der Grafikkarte muss ich passen, nicht meine Baustelle :)

    Evtl. melden sich noch andere, die mehr zu deinem geplanten System sagen können. Ich persönlich würde mir da nochmal in mich gehen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Samstag, 13. Februar 2016 16:00
    Moderator
  • Am 13.02.2016 schrieb ro_grille:

    es sind ca. 15 Datebanken mit ca. 40 Tabellen/Datenbank.
    Zugriff ist mit 30-40 Usern angedacht, Tendenz bei weiterer Entwicklung steigend.
    Final-Datenbank bearbeitet ca. 12 Mio Datensätze, Speicherbedarf ca. 100-130 GB.
    Normal Speicherbedarf/Datenbank ca. 300 MB.

    Aus meiner Sicht sollte der Rechner mit folgender Hardware ausgestattet sein:

    - BS Window Server 2012 64 bit + MSSS 2014 64 bit
    - SSD primär 500 GB , 2. Festplatte 2 TByte (Datensicherung)
    - CPU i7-4xxxK 4,3 GHz, RAM 32- 64 GB DDR4
    - Grafikarte Nvidia Geforce GTX 970 (Berichtrendering+ Entlastung CPU)

    Mir fehlt hier die Ausfallsicherheit. Wo ist das RAID-System? Für das
    OS ein RAID1, für die Datenbanken ein Raid10. Jeweils natürlich eine
    Hotspare HDD mit einplanen.

    SSD ist IMHO auch oversized, wenn Du schnelle SAS Platten nimmst, 15K
    sollten schon drehen, reicht das völlig aus. Und die sind auch genau
    dafür gemacht und haben auch 24/7 Support.

    Für zwei Rechner mit annährend gleicher Ausstattung wären die Kosten schon sportlich ...

    Und dabei hast Du IMHO die Lizenzkosten noch gar nicht erfasst.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    HowTos zum WSUS Package Publisher http://www.wsus.de/wpp
    GPO's: http://www.gruppenrichtlinien.de
    NNTP-Bridge für MS-Foren: http://communitybridge.codeplex.com/

    • Als Antwort markiert ro_grille Montag, 15. Februar 2016 09:08
    Samstag, 13. Februar 2016 17:45
  • Hallo die Herren,

    vielen Dank für die interessanten Tipps.
    Ein RAID-System mit SAS-Platten (15K) wäre wahrscheinlich die sauberste und professionellste Lösung.
    Ausfallsicherheit ist mit Schwerpunkt, da 30-40 User permanent/täglich zugreifen werden.
    Die Logik (Abfragen) soll/wird zu 95% auf dem Server erfolgen, da hätte eine SSD die Nase vorn (siehe Links Stefan).
    Lizenzkosten sind nicht in der Betrachtung, da der Server schon produktiv, in einer Art Testphase, läuft.
    Zu diesem Thema gibt es intern noch einigen Geprächsbedarf bevor es richtig zur Sache geht.
    Letztendlich werden die Kostenveranwortlichen entsprechend den möglichen Varianten entscheiden.

    Nochmals vielen Dank ... hat uns sehr geholfen.


    Gruß ro_grille

    Montag, 15. Februar 2016 09:08
  • Hallo,

    wenn man testet macht man auch mal einen Stress-Test. Sind Test- und Produktion SQL Server auf einem Rechner, dann leidet der Prod Server bei einem Stress-Test mit.

    Oder die Installation eines neuen Service Packs, das will man vorab auch mal testen und auch da ist es besser, wenn die Testinstanz auf einem eigenen Rechner läuft.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Montag, 15. Februar 2016 09:11
  • Am 15.02.2016 schrieb ro_grille:

    Ein RAID-System mit SAS-Platten (15K) wäre wahrscheinlich die sauberste und professionellste Lösung.
    Ausfallsicherheit ist mit Schwerpunkt, da 30-40 User permanent/täglich zugreifen werden.
    Die Logik (Abfragen) soll/wird zu 95% auf dem Server erfolgen, da hätte eine SSD die Nase vorn (siehe Links Stefan).

    Sind denn die SPs sooo umfangreich, das man wirklich den Unterschied
    zwischen SSD und SAS HDD merkt? Bei nur 30-40 User bin ich der
    Meinung, den Unterschied merkst Du nicht.

    Lizenzkosten sind nicht in der Betrachtung, da der Server schon produktiv, in einer Art Testphase, läuft.

    Ich meinte nicht die Lizenz des SQL Servers, sondern die SQL-CALs.
    Computer- oder Benutzer CAL? Prozessor Lizenz? Jeder direkte oder
    indirekte Zugriff auf den SQL Server benötigte eine Zugriffslizenz.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    HowTos zum WSUS Package Publisher http://www.wsus.de/wpp
    GPO's: http://www.gruppenrichtlinien.de
    NNTP-Bridge für MS-Foren: http://communitybridge.codeplex.com/

    Montag, 15. Februar 2016 18:24
  • Hallo,

    @Olaf
    Danke für die Tipps, wird in die Betrachtung/Entscheidung mit einbezogen.

    @Winfried
    Den Unterschied SSD vs. HDD merkt man deutlich, da wir einen temporären Testrechner (MSSS 2014 Developer-Edition) mit SSD und viel Power haben.
    Die Lizenzen (vorerst 10 Benutzer-CAL) sind produktiv scharf.


    Gruß ro_grille

    Dienstag, 16. Februar 2016 07:49
  • Am 16.02.2016 schrieb ro_grille:

    *@Winfried
    *Den Unterschied SSD vs. HDD merkt man deutlich, da wir einen temporären Testrechner (MSSS 2014 Developer-Edition) mit SSD und viel Power haben*.

    Welche *genauen* HDDs sind denn an *genau* welchem Controller verbaut?

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    HowTos zum WSUS Package Publisher http://www.wsus.de/wpp
    GPO's: http://www.gruppenrichtlinien.de
    NNTP-Bridge für MS-Foren: http://communitybridge.codeplex.com/

    Dienstag, 16. Februar 2016 16:37
  • Hallo Winfried,

    es gibt nur eine HDD (1 TByte) in diesem Produktiv-Rechner (Controller, sicher Standard).
    Keine Partitionen, keine Domäne ... alles liegt auf LW:C, Remote-Zugriff als Administrator, das wars.
    Konfiguration=Standard (OS Window Server 2012 R2 64-Bit).
    Wurde uns so von der IT-Abteilung, entgegen unserem Vorschlag (Hardware s.o.), bereitgestellt.
    Thema Kosten ... ^^ (Büro-PC von der Stange).

    Wir können das erstmal nicht ändern, deshalb dieser Thread, um einen neuen Anlauf mit entsprechen Argumenten zu starten.
    Habe mal an den Eigenschaften/Einstellungen der Festplatte gedreht (max. Leistung), hat eine kleine Verbesserung der Performance gebracht.
    Hatte kürzlich auch gelesen, dass durch ändern des Energiesparplans auf Höchstleistung der Turbo erst richtig zündet usw..
    Wenn Du noch einige Tricks/Tipps für die Performance-Verbesserung (Win Server 2012 R2, SQL Server) hast, wäre prima.




    Gruß ro_grille

    Samstag, 20. Februar 2016 09:36
  • Am 20.02.2016 schrieb ro_grille:

    es gibt nur eine HDD (1 TByte) in diesem Produktiv-Rechner (Controller, sicher Standard).

    Und das wäre aber sehr interessant. Wenn es denn eine SATA-HDD ist,
    ist natürlich eine SSD viel schneller.

    Keine Partitionen, keine Domäne ... alles liegt auf LW:C, Remote-Zugriff als Administrator, das wars.

    Je nach Anzahl der zugreifenden Benutzer und je nach Belastung des SQL
    Servers wird das recht schnell erschöpft sein.

    Konfiguration=Standard (OS Window Server 2012 R2 64-Bit).
    Wurde uns so von der IT-Abteilung, entgegen unserem Vorschlag (Hardware s.o.), bereitgestellt.
    Thema Kosten ... ^^ (Büro-PC von der Stange).

    Tja, richtige Server kosten Geld. Wenn das für euch nicht
    bereitgestellt wird, habt ihr wohl Pech gehabt.

    Wir können das erstmal nicht ändern, deshalb dieser Thread, um einen neuen Anlauf mit entsprechen Argumenten zu starten.
    Habe mal an den Eigenschaften/Einstellungen der Festplatte gedreht (max. Leistung), hat eine kleine Verbesserung der Performance gebracht.
    Hatte kürzlich auch gelesen, dass durch ändern des Energiesparplans auf 
    Höchstleistung der Turbo erst richtig zündet usw..
    Wenn Du noch einige Tricks/Tipps für die Performance-Verbesserung (Win Server 2012 R2, SQL Server) hast, wäre prima.

    Den SQL Server, die Daten, die TempDB und die Logs auf einer HDD in
    unterschiedlichen Partitionen zu speichern, ist nicht hilfreich. Kein
    RAID-System zu haben ist auch nicht förderlich.

    Du solltest also folgendes schon haben:

    SAS-Platten an einem Raidcontroller. 2 SAS Platten für das OS, am
    besten noch eine als Hotspare. Für die Daten sollte es ein extra RAID
    an extra Platten sein. Du siehst, der RAID-Controller muss schon etwas
    können, die SAS Platten sollten mind. 10K machen, besser mehr.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    HowTos zum WSUS Package Publisher http://www.wsus.de/wpp
    GPO's: http://www.gruppenrichtlinien.de
    NNTP-Bridge für MS-Foren: http://communitybridge.codeplex.com/

    Samstag, 20. Februar 2016 09:47
  • Hallo Winfried,

    danke für die schnelle Antwort.
    Nicht noch einige Tipps zur Performancesteigerung des aktuellen System ? ^^


    Gruß ro_grille

    Samstag, 20. Februar 2016 09:57
  • Am 20.02.2016 schrieb ro_grille:

    Nicht noch einige Tipps zur Performancesteigerung des aktuellen System ? ^^

    Da gibt/gäbe es sicherlich so manches, mangels Erfahrung kann ich dir
    dazu aber nicht viel schreiben.
    Die Vergrößerung der DBs, egal ob TempDB oder Logdateien, sollte in
    großen Schritten eingestellt sein, nicht in Prozent Angaben.

    Den Rest muss man am laufenden System analysieren.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    HowTos zum WSUS Package Publisher http://www.wsus.de/wpp
    GPO's: http://www.gruppenrichtlinien.de
    NNTP-Bridge für MS-Foren: http://communitybridge.codeplex.com/

    Samstag, 20. Februar 2016 12:05
  • Hallo Winfried,

    danke für die schnelle Antwort.
    Nicht noch einige Tipps zur Performancesteigerung des aktuellen System ? ^^


    Gruß ro_grille

    Es gibt einige Dutzend Best Practices für SQL Server
    Ich verweise jetzt mal auf keine URL, da ich garantiert dabei einige vergessen würde.

    Ich empfehle also einfach mal google und Whitepaper von Microsoft im Fokus.

    Was für dieses System aber wirklich wichtig ist, kommt auf die Workload an, die keiner von uns beurteilen kann.

    Insofern würde ich mit den allgemeinen Best Practices beginnen, um nichts zu verschenken, und ansonsten mal über die Performance-/Kapazitäts-Anforderungen der Applikationen Erkundigungen einholen.


    Andreas Wolter (Blog | Twitter)
    MCSM: Microsoft Certified Solutions Master Data Platform/SQL Server 2012
    MCM SQL Server 2008
    MVP Data Platform
    www.SarpedonQualityLab.com | www.SQL-Server-Master-Class.com

    Samstag, 20. Februar 2016 15:57