×

Fehler

Es kann kein Editor angezeigt werden, da kein Editor-Plugin aktiviert ist!

Project Forum

Stellen Sie hier Fragen zu den verschiedenen Versionen von Microsoft Project, Project Server und SharePoint. Bekommen Sie fachkundige Antworten, Tipps und Tricks! Hinweis: Offensichtliche Spam-Posts werden unverzüglich gelöscht! Um eine Frage zu stellen, klicken Sie rechts auf die Schaltfläche "Neues Thema eröffnen".
  1. Bernhard Fischer
  2. ohne Kategorie
  3. Dienstag, September 17 2013, 09:36 PM
  4.  Abonnieren via E-Mail

Immer wieder klagen Kunden über eine schlechte Performance bei SharePoint und Project Servern. Bei genauerem Hinsehen wird deutlich, dass notwendige Einstellungen auf unterschiedlichen Ebenen nicht oder nur unzureichend getätigt wurden.

Daher werde ich in folgendem Beitrag einen der wesentlichsten Faktoren hinsichtlich der Performance eines SharePoint / Project Servers beleuchten: die Konfiguration des SQL Servers:


SQL Server Konfiguration für SharePoint und

Project Server 2010/2013 (Best Practice)


 1      Windows Rollen





  • Anwendungsserver




  • Webserver (IIS)





2      Hardware





  • RAM: 8 GB min. (16 – 32 GB empfohlen je nach Nutzung)




  • Prozessor: 4 Cores min. (6 – 8 Cores empfohlen je nach Nutzung)




  • Festplattenplatz:




  • System: 80 GB




  • Temp-DB: 20 GB




  • User-DBs: 80 – 1000 GB (je nach Nutzung)




  • User-Logs: 80 – 1000 GB ( je nach Nutzung)





Hinweis zur Formatierung der Festplatten:



Alle Festplatten müssen mit NTFS formatiert werden. Zur Performancesteigerung sollten alle Platten, die mit Datenbanken belegt werden, mit einer Clustergröße von 64 KB formatiert werden. Dies betrifft Temp DBs und alle Benutzer Datenbanken.



Weiterhin sollten für die Temp-DB, die User DBs und die User Logfiles getrennte Laufwerke verwandt werden. Bei SAN Laufwerken ist darauf zu achten, dass die Laufwerke unterschiedlichen LUNs zugeordnet wurden.



3      Festplatten Vorbereitungen



3.1     Festplatten initialisieren



Bei virtuell bereitgestellten Servern müssen die Festplatten über die Computerverwaltung zuerst initialisiert werden.



 b2ap3_thumbnail_Laufwerkserstellung.png 



Über einen Rechtsklick werden die Datenträger zunächst online geschaltet und anschließend kann über einen erneuten Rechtsklick der Datenträger initialisiert werden.



 b2ap3_thumbnail_Datentrgerinitialisierung_1.png



 b2ap3_thumbnail_Datentrgerinitialisierung_2.png



 Bei den heutigen Betriebssystemen sollte die Partitionierungstabelle mit GPT erfolgen.



3.2     Festplatten formatieren



Nachdem die Datenträger nun online sind, können nun die zusätzlichen Laufwerke formatiert und eingebunden werden (Rechtsklick).



 b2ap3_thumbnail_Festplatten-formatieren.png



Ein selbsterklärender Assistent führt hierbei durch den Prozess. Daher wird hier nur die wichtigste Einstellung dargestellt:



 b2ap3_thumbnail_64KB.png



Der letzte Schritt ist nun der Entscheidendste: Hier werden das Dateisystem-Format und die Clustergröße eingestellt.



Gerade bei SQL Servern ist eine möglichst große Clustergröße wichtig! Denn die Datenbanken sind meist sehr groß, so dass bei Daten-Zugriffen dann nicht so häufig in er Partitionstabelle nachgesehen werden muss, an welcher Stelle auf der Platte die Daten liegen.



Daher sollte unbedingt mit NTFS und 64 KB formatiert werden! (Das neuere ReFS als Nachfolger von NTFS wird noch nicht unterstützt)



Diese Schritte sind für alle Laufwerke zu durchzuführen.



Ergebnis:



b2ap3_thumbnail_Ergebnis.png



4      SQL Server installieren



 b2ap3_thumbnail_SQL-Server-installieren.png



 Ein Assistent führt unspektakulär durch die notwendigen Schritte, daher folgen hier nur die wichtigsten Einstellungen:


b2ap3_thumbnail_Updates.pngb2ap3_thumbnail_Firewall.png

Hinweis:



Da in den meisten Fällen die Firewall aktiv ist, muss diese speziell für den SQL Server, die Analysis Services, die Reporting Services und den SQL Browser konfiguriert werden (wird in einem weiteren Post näher beleuchtet).



SQL Server Rollen (Funktionen) installieren.



 b2ap3_thumbnail_Funktionen.png


b2ap3_thumbnail_Funktionsauswahl.png

Grundsätzlich empfiehlt sich eine manuelle Konfiguration der Dienste, da nur so optimale Ergebnisser erziehlt werden können.



Für SharePoint und den Project Server werden oben angegebene Dienste benötigt.



Die Funktionen „Reporting Services – SharePoint“ werden nur dann benötigt, wenn man auch die SharePoint integrierten Reporting Services Funktionen nutzen möchte. Neben zusätzlicher Konfigurationen wie Kerberos und weitere in SharePoint sind auch zusätzliche Lizenzen (SQL Server und/oder SharePoint) notwendig.



In diesem Beispiel werden die Zusatzfunktionen nicht berücksichtigt.



b2ap3_thumbnail_Instanz.png 



In diesem Beispiel wird von der Standard Instanz ausgegangen. Selbstverständlich können auch andere „benamte“ Instanzen verwendet werden.



Im nachfolgenden Teil werden die Service Konten für die einzelnen SQL Dienste angegeben.



 b2ap3_thumbnail_Dienstekonten.png



Einstellung des Collation Typs



 b2ap3_thumbnail_Collation-1.png


b2ap3_thumbnail_Collation-2.png

Die Sortierung (Collation Typ) sollte auf Latin1_General_CI_AS_KS_WS gesetzt werden, da dies den NTFS Gegebenheiten am nächsten kommt.



Hinzufügen der Admin-Rechte:



Seit SQL Server 2008 wird bei der Installation lediglich das Konto des Installierenden hinzugefügt. Dies ist suboptimal, da dann später auch nur die Person Zugriff auf den SQL Server hat, die diesen installiert hat. Daher ist darauf zu achten, dass auch Gruppen hinzugefügt werden, die später mit der SQL Administration zu tun haben.



 b2ap3_thumbnail_Adminrolle.png



Speicherorte:



Analog zu den vorher eingerichteten Festplatten sollten hier die Speicherpfade für die SQL Instanz, die Temp-DB, die Benutzer DBs und die Log-Dateien angegeben werden.



 b2ap3_thumbnail_Speicherorte.png



Konfiguration der Analysis Services:



 b2ap3_thumbnail_Analysis-Services-Admin-Rolle.jpg



 b2ap3_thumbnail_Analysis-services-Speicherorte.jpg



Konfiguration der Reporting Services:



Bei einer Standard Instanz ist es möglich, die Reporting Services automatisch einrichten zu lassen, da hier nichts Spektakuläres passiert. Später können sie über den „Konfigurationsmanager für die Reporting Services“ oder über den "SQL Server Reporing Manager" (üblicherweise: http://servername/reports) weiter angepasst werden.


b2ap3_thumbnail_Reporting-Services.jpg

 Wenn alles fertig ist, meldet sich der Installationsassistent mit einer Übersicht: 



 



5      Optimierung des SQL Server für SharePoint und Project Server



Der SQL Server ist zwar funktionstüchtig eingerichtet. Doch da ein SharePoint und Project Server hohe Ansprüche an das Datenbanksystem hat, sollte ein SQL Server für diesen Fall immer performancetechnisch optimiert werden, um optimale Reaktionszeiten und einen hohen Durchsatz zu erhalten.



Das nachfolgende SQL Script verändert einige Grundeinstellungen im SQL Server. Die Werte für die Speichergrenzen und die Pfade müssen an die eigenen Gegebenheiten angepasst werden.





use master



GO



sp_configure'show advanced options', 1;                       -- Erweiterungen werden angezeigt --



GO



RECONFIGURE



GO



sp_configure'clr enabled', 1;                                           -- Common Langugage Runtime wird aktiviert --



GO



sp_configure'fill factor (%)','75'                                       -- die max Auffüllung in den Indexseiten wird auf 75 % gesetzt. Damit ist die Fragemntierung der Indizes geringer --



GO



sp_configure'max degree of parallelism','1'                    -- ein Prozess, der auf einem Core läuft,  wird nicht auf andere NUMA-Knoten aufgeteilt --



GO



sp_configure'min server memory (MB)','5144'                -- minimale RAM-Verwendung - dies ist ggf an die eigenen Servergegebenheiten anzupassen --



GO



sp_configure'max server memory (MB)','12288'             -- maximale RAM-Verwendung (min. 1,5 GB sollten für das Betriebssystem zur Verfügung stehen, der Wert ist

                                                                                           ggf anzupassen) --



GO



sp_configure'backup compression default','1'                 -- Backups werden komprimiert --



GO



sp_configure'contained database authentication','1'



GO



RECONFIGURE



GO



-- Erstellung weiterer Datendateien für die Temp-DB (Pro Core wird 1 zusätzliche Datendatei empfohlen mit großer Anfangsgröße. Bei 4 Cores also insgesamt 4 Datendateien) --



GO



ALTERDATABASE[tempdb]MODIFYFILE (NAME=N'tempdev',SIZE= 512000KB,MAXSIZE= 6291456KB,FILEGROWTH= 102400KB)   -- Die Größen können in KB oder MB angegeben werden) --



GO



ALTERDATABASE[tempdb]ADDFILE (NAME=N'tempdev2',FILENAME='E:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\tempdb2.ndf',SIZE= 512000KB,MAXSIZE= 6291456KB,FILEGROWTH= 102400KB)



GO



ALTERDATABASE[tempdb]ADDFILE (NAME=N'tempdev3',FILENAME='E:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\tempdb3.ndf',SIZE= 512000KB,MAXSIZE= 6291456KB,FILEGROWTH= 102400KB)



GO



ALTERDATABASE[tempdb]ADDFILE (NAME=N'tempdev4',FILENAME='E:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\tempdb4.ndf',SIZE= 512000KB,MAXSIZE= 6291456KB,FILEGROWTH= 102400KB)



GO



 



Hinweis: Der Performancegewinn hinsichtklich zusätzlicher Datendateien für die Temp-DB macht sich in der Praxis nur bis zu einer Anzahl von max 8 Datendateien bemerkbar.



Startparameter für den SQL Service



Achtung: Damit die oben erwähnten Datendateien vom SQL Server auch gleichmäßig aufgefüllt werden, muss der nicht dokumentierte Trace-Flag -T1117 als Startparameter gesetzt werden:



Dazu ist die SQL Services MMC zu starten.


    Über einen Doppelklick auf dem Service (MSSQLSERVER) gelangt man zu den Eigenschaften. Dort kann im Register "Start" der Parameter -T1117 hinzugefügt werden. 


Das obige Script kann im SQL Management Studio verwendet werden. Für SQL Server 2008 R2 muss das Script evt. angepasst werden.



b2ap3_thumbnail_SQL-Server-Optimierung-1.jpg


b2ap3_thumbnail_SQL-Server-Optimierung-3.jpg

6      Konfiguration von Datenbank Wartungsjobs



Gerade für SharePoint und Project Server Umgebungen ist es notwendig, dass die Statistiken und die Indizes aktuell und defragmentiert sind. Daher sollten neben den selbstverständlichen Backup-Jobs auch Jobs für die Optimierung der Datenbanken über den SQL Server Agent hinterlegt werden:




  • tägliche Wartung (in den Nachtstunden)

    • Statistiken aktualisieren (für User DBs)

    • Index neu organisieren (für User DBs)





b2ap3_thumbnail_SQL_Opt_t.jpg




  • wöchentliche Wartung (z.B. am Wochenende)

    • Index neu erstellen mit Sortierung in der Temp DB





b2ap3_thumbnail_SQL_Opt_w.jpg



 



Wichtiger Hinweis:



Was immer wieder gemacht wird, aber absolut kontraproduktiv ist, ist ein Shrinken der Datenbanken. Durch das Shrinken wird zwar u.U. die Datenbank kleiner, weil evt. vorhandener freier Platz (= leere Daten-Seiten) an das Dateisystem zurückgegeben wird. Aber: Durch das Shrinken fragmentiert eine Datenbank deutlich mehr und schneller, da sie durch die Schreibprozesse ständig erweitert werden muss.



Also: Bitte nur Datenbanken einem Shrinkprozess unterziehen, wenn sie außergewöhnlich stark gewachsen ist. Bitte niemals einen automatischen Shrink-Job einrichten! Denn SharePoint und Project Server schreiben extrem viel in den Datenbanken und brauchen daher performante, möglichts defragmentierte Datenbanken mit genügend Platz.



Außerdem: SharePoint teilt notwendige Shrink-Prozesse in der Zentraladministration unter "Monitoring" mit.



7      Sperren von Seiten im Arbeitsspeicher für SQL Dienste Konto



Datenbanken liefern ihre Daten besonders schnell aus, wenn sie im Arbeitsspeicher gehalten werden können und nicht in in die Auslagerungsdatei von Windows ausgelagert werden. Dieses "Paging" kostet viel Performance.



Daher sollte für das Dienste-Konto des SQL Server in den "Lokalen Sicherheitsrichtlinien" folgende Einstellung getätigt werden:



b2ap3_thumbnail_Sperren_von_Seiten.png



-> Lokale Richtlinien | Zuweisen von Benutzerrechten | Sperren von Seiten im Arbeitsspeicher



-> dort das Windows Benutzerkonto für den SQL Dienst eintragen

Den kompletten Artikel lesen
Kommentar
There are no comments made yet.


Es gibt noch keine Antwort zu diesem Thema
Gast
Deine Antwort
Du kannst Umfragen zu Deinem Beitrag hinzufügen.
Vote Options
In this section you can provide your site details at here and it visible to the moderators only.
Captcha
To protect the site from bots and unauthorized scripts, we require that you enter the captcha codes below before posting your question.