SQL Server Optimierung für SharePoint 2013
Mehr als 90% des SharePoint Inhalts ist im SQL Server gespeichert. Ohne eine korrekte Konfiguration des SQL Servers sind Performance Probleme vorprogrammiert. Es spielt keine Rolle, ob Sie SQL DBA oder SharePoint Admin sind. Es geht darum, den SQL Server und den SharePoint zu optimieren.
Diese Session zeigt, welche Default Einstellungen Probleme verursachen und mit welchen Mitteln Sie diese beheben können. Eine Best Practice Session bis hin zum Diagnose Deep Dive.
Lars PLatzdasch / PASS / SQL Server Konferenz 2015
2. Speaker
Lars Platzdaschplatzdasch netConsult GmbH & Co. KG | ISV
24/7 Support für SQL / SharePoint
3 Perspektiven GmbH | MBS
MS Silver ISV
MS Silver Collaboration & Content
MCT, MCSE 2012 Data/ MCITP SQL2008/2005
MCSA SharePoint 2013/ MCITP 2010/2007 / Admin und Developer
MCAD .net
http://www.xing.com/profile/Lars_Platzdasch
http://de.linkedin.com/in/larsplatzdasch/
www.platzdasch.de
www.3perspektiven.de
3. Themen
• SharePoint Topologie
• SQL Server Installation und Konfiguration
• Bereitstellen und Warten von Datenbanken einer SharePoint
Farm
• Demo: SQL Server Konfiguration für eine optimale SharePoint
Performance
• SQL Server Instance Konfiguration
• SQL Server Database Konfiguration
4. 3 Rollen
2 APP Rollen
Single
Topologie 4+ Rollen
SMALL
MID
MAX
5. Welche Faktoren beeinflussen die Performance?
6
Server
Memory, CPU und Disk
SQL Performance
IOPS auf SAN
Custom Code
Network
Network Infrastructure
Proxy Server
WAN Latency
Compression
Client
Browser Render Time
Page Optimization
Caching
Hardware, Driver, OS and
Browser Upgrades
7. SQL Server Installation und Konfiguration
• FarmAdmin & DBA: Zwei getrennte Aufgabenbereiche!
• SQL Server DBA
• Erzeugt und konfiguriert Datenbanken, überwacht diese
• Entscheidet über Storagearchitektur, Dateilayout, Datenbankkonfiguration
• Zwei wichtige Werkzeuge: SSMS, PerfMon
• SharePoint Farm Admin
• Verbindet Farm und Site Collections mit vorkonfigurierten Datenbanken,
• betreibt SharePoint darin
• Entscheidet über Farmarchitektur, Services, Site Collections
• Zwei wichtige Werkzeuge: CentralAdmin, PowerShell
• Backup und Restore als gemeinsam koordinierte Aufgabe
8. SQL DBA
• Best Practice
• SQL Setup , SQL Server Konfiguration -> DBA ONLY !!!
• Für das Konfigurieren von SQL Server und das Erstellen von
SharePointContent-DB nicht die SharePoint-Standarddialoge
verwenden
• SQL Server manuell durch den SQL Server-DBA konfigurieren lassen
• SharePoint-Content-DB manuell oder automatisiert durch den SQL
Server-DBA erstellen lassen
• Erst, nachdem eine leere Content-DB bereitgestellt wurde, diese durch
den Farm Admin mit einer SharePoint-Farm verbinden lassen!
9. SQL DBA: SQL Server Konfiguration
• Server Layout
11. SQL DBA: SQL Server Konfiguration Disk
• Disk Layout (Raid, NTFS Allocation Size 64k, WorkLoad)
• Für eine schnelle und Optimale Konfiguration: min 6 Platten
• 1. TempDB
• 2. TempDB Logs
• 3. SharePoint Databases (7,8,9,x )
• 4. SharePoint Databases Logs (7,8,9,x )
• 5. OS
• 6. SQL binaries und andere Zusätzliche Apps.
12. SQL DBA: SQL Server Konfiguration Disk
• Server Layout
13. SQL DBA: SQL Server Konfiguration
• Collation
• Bei SQL Server Installation Latin1_General_CI_AS_KS_WS (CaseI,AccentS,KanaS,WithS,
Collation verwenden
• MAX SERVER MEMORY festlegen (sp_configure)
• Faustregel: OS Memory - (2-3 GB)/64bit/4C
• Bsp: 16GB FR: 13GB / Richtig: 11.571GB
• http://thomaslarock.com/2012/08/youre-doing-it-wrong-5-factors-that-affect-database-
performance/
• max degree of parallelism auf 1 setzen (sp_configure)
• Für individuelle Tasks verändern (z.B. Index Rebuild mit MAXDOP 0)
• Service Account ( SQL Server )
• Lock Pages in Memory Privileg zuweisen: ( SQL Std: -T845 )
• Verhindert OS Paging für von SQL Server belegten Arbeitsspeicher
• TraceFlag: -T1117 ( Gleichmässiger AutoGrow auf allen Files )
14. SQL Server Konfiguration
• Instant File Initialization
• Recht: (SE_MANAGE_VOLUME_NAME )
• Open Local Security Policy> Local Policies > User Rights Management and go to the Perform
• Volume Maintenance Task. By default, only Local Admins have the access to it.
Kimberly L., author at www.sqlskills.com:
Hardware: Dell Precision 670 Dual Proc (x64) with Dual Core, 4 GB Memory, RAID1+0 array w/4-142 GB,15000rpm disks
Performance Test with Zero Initialization
CREATE DATABASE with 20 GB Data file = 14:02 minutes
ALTER DATABASE BY 10 GB = 7:01 minutes
RESTORE 30 GB DATABASE (EMPTY Backup) = 21:07 minutes
RESTORE 30 GB DATABASE (11GB Backup) = 38:28 minutes
Performance Test with Instant Initialization
CREATE DATABASE with 20 GB Data file = 1.3 seconds
ALTER DATABASE BY 10 GB = .4 seconds
RESTORE 30 GB DATABASE (EMPTY Backup) = 5 seconds
RESTORE 30 GB DATABASE (11GB Backup) = 19:42 minutes
15. SQL Server Konfiguration DBs
• Fill Factor 70% bis 80%
• Kein Simple Recovery Mode
• T-Log Backup alle 15min bis max. 24h
• Disable Boost SQL Server Priority
• Temp DB auf 10GB und 4 Files verteilen, Autogrowth 1GB
• Content DBs Pre-Size, Split ( min 4 Files )
• Backupcompression einschalten
• Index Maintennance <=30% Reorganisation, sonst Rebuild
• Update Statistics täglich, DBCC Checkdb vor Fullbackup
16. Farm Sizing : Farm Admin
• WebApplication sollte mehr als eine Content DB haben
• ( ideal , IT, HR, FI etc. ist getrennt ) -> an den DR Fall denken!
• Quotas -> 200 -250 SCs max. je DB
17. Tools für die SharePoint Diag
• PerfMon
• Fiddler2
• http://fiddler2.com/
• Add Ons für Fiddler
• http://fiddler2.com/add-ons
• WireShark
• http://www.wireshark.org/
• Sysinternals Process Monitor
• http://technet.microsoft.com/de-ch/sysinternals/bb896645.aspx
• Microsoft Message Analyzer
• http://www.microsoft.com/en-us/download/details.aspx?id=40308
18
18. Einstellen der Quotas der Content Datenbanken
WebApplication
200GB 200GB 200GB 200GB
SiteCollections SiteCollections SiteCollections SiteCollections
Project
Sites
Department
Sites
HR
Sites
Marketing
Sites
750mb X 250 = 187,500mb / 1024 = 183gb
250 250 250 250
20. SQL Server Konfiguration DBs
• SharePoint 2013(and 2010) kopiert nur die Initiale Größe aber
nicht die AutoGrow Einstellungen.
• Script zur Prüfung neu erstellter SP C DBs’
• http://sharepointszu.com/2012/02/17/sql-script-fr-die-
erstellung-von-best-practice-sharepoint-datenbanken/
21. SQL Server Wartung
• Tgl. Full Backup
• 15Min T-Log backup
• Kein Simple Recovery Mode für Content DBs
• ( Außer SLA lässt das wirklich zu )
• Index Wartung (< ReOrg. >= 30% ReBuild )
• Update Statistics ( def. TimerJob im SP Läuft einmal Nachts)
Tool:
• OTB Maintenance Plan Wizzard
• Empfehlung: Ole Hallgreen ( Backup Solution )
23. SharePoint 2013 Service Accounts ( High Sec.)
Name Desc Local Rights Domain Rights
SQL_Admin SQL Admin on the SQL Server.
Used to Install the SQL
Local Administrator on SQL
Server
Domain User
SQL_Agent SQL Agent Account Service None Domain User
SQL_Engine Service Account for Database
Engine
None Domain User
SharePoint
SP_Farm Configure and Manage Server
Farm / Act As App Pool Identity
in Central Admin App, Work
Flow Timer
SecurityAdmin and
DB_Creator per SQL Instance
Domain User
SP_Admin Server Farm Account for
Setup
SharePoint Products
Configuration Wizzard
Local Admin an all Sharepoint
Servers
SecurityAdmin and
DB_Creator per SQL Instance
Domain Account
24. Resources
• SQL Server: Minimize Disk I/O
• https://technet.microsoft.com/en-us/magazine/jj643251.aspx
• Best practices for SQL Server in a SharePoint Server farm
• https://technet.microsoft.com/en-us/library/hh292622(v=office.15).aspx
• SQL Script zur Erstellung von neuen Content DBs
• http://sharepointszu.com/2012/02/17/sql-script-fr-die-erstellung-von-
best-practice-sharepoint-datenbanken/
• Vlad Catrinescu ( MVP )
• www.absolute-sharepoint.com
25. Vielen Dank
Lars Platzdaschplatzdasch netConsult GmbH & Co. KG | ISV
24/7 Support für SQL / SharePoint
3 Perspektiven GmbH | MBS
MS Silver ISV
MS Silver Collaboration & Content
MCT, MCSE 2012 Data/ MCITP SQL2008/2005
MCSA SharePoint 2013/ MCITP 2010/2007 / Admin und Developer
MCAD .net
http://www.xing.com/profile/Lars_Platzdasch
http://de.linkedin.com/in/larsplatzdasch/
www.platzdasch.de
www.3perspektiven.de