Date post: | 21-Jan-2018 |
Category: |
Software |
Upload: | serge-luca |
View: | 132 times |
Download: | 2 times |
SharePoint Saturday Montreal#SPSMontreal
May 13th 2017
SharePoint Saturday
Montreal
Rendre son SharePoint 2013/2016 extrêmement rapide en monitorant & optimisant SQL ServerSerge Luca & Isabelle Van Campenhoudt
ShareQL
SharePoint Saturday Montreal#SPSMontreal
Go
ld
Bro
nze
Thanks to our sponsors !
Isabelle Van Campenhoudt
Isabelle Van
Campenhoud
t
SQL Server MVP, Brussels
Consultant, speaker, trainer, PASS V-Chapter Leader
Managing partner de www.ShareQL.com
SQL Server since 1999
Blog: http://thesqlgrrrl.wordpress.com/
@thesqlgrrrl
Isabelle Van Campenhoudt
globalfrench.sqlpass.org
Serge Luca
Serge Luca
10 x SharePoint MVP, Brussels
Consultant, speaker, trainer
Managing partner of www.ShareQL.com
SharePoint since 2001
Blog: http://sergeluca.wordpress.com/
@SergeLuca
Serge Luca
Credits
Serge Luca
Accidental DBA
IsabelleVan Campenhoudt
SQL guru
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
99.9% of SharePoint content stored in SQL Server
Farm Configuration information stored in configuration db
Central Administration content stored in own content db
Most Service Applications have at least one db
All Web Applications have at least one content db
Farm has several databases; >20 if spousal installation
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Optimize Hardware
CPU RAM DISK Network
Network (dedicated subnet for SQL)
Latency between web front ends and SQL
Server
• Mandatory for stretched farm, but good practice:
• < 1 ms during10 minutes (1% failure max)
• 1 Giga bits / sec
• Recommended if mirroring or Always On Sync (see later)
64K is optimal, 4K = 30% Performance
Penalty (data files, not log files)
Use chkdsk <drive>to Verify
Use Format to Configure:
• Format <drive> /Q /FS:NTFS /A:64K /V:<volume> /Y
• As part of capacity plan• Determine how much GB you need• Talk to the SAN team
Because…
Database name IOPS requirements Typical load on I/O
subsystem. Optimization
TempDB High 2 IOPS/GB Write
Content DB High
0.5-0.75 IOPS/ GB (4
TB supported:
0.25IOPS/GB , ideally:
2 IOPS/GB)
Read
Transaction Log High 2 IOPS/GB Write
Search Crawl database Medium to high IOPS
10 IOPS per 1
document per second
(DPS) crawl rate.
Write
Search Link database Medium IOPS
10 IOPS per 1 million
items in the search
index.
Search administration
databaseLow IOPS Not applicable.
Search Analytics
reporting databaseMedium IOPS Not applicable.
• IOMeter (free)
• SQLIO (free)
• …
• In production : be careful
• Test with a file > than SAN cache
• Test reading/writing , random 64k (for data)and sequential (for transaction log)
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
For SharePoint 2013:
• SQL Server 2008 R2 SP1
• SQL Server 2012 (SP1 for BI)
• SQL Server 2014 (SP2013 SP1 & April CU)
For SharePoint 2016:
• SQL Server 2014
• SQL Server 2016
Don’t install SSMS on the SQL Server computer
Use named instances
\ SharePointUse a dedicated
instance
Run the service with a Managed account
No specificpermission
Latin1_General_CI_AS_KS_WS (for SharePoint databases)
(Any CI collation is supported for tempDBs, master, but Latin1_xxx_ is recommended)
SP uses this collation when itcreates its own db
Cannot be changed after the setup !!!
Max degree of parallelism
Maxdop=1
Specify memory limits
Backups
Compression
Use alias for the connection string
• Client alias or DNS alias (preferred)
Good practice : every SP Content db must becreated (and documented) by a DBA after a strict capacity plan
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
System databases
Master : similar to the SP configDB
Model : templatefor other dbs
Tempdb : temporarily results
Msdb : for automation
User databases The SharePoint databases
.MDF.LDFAddContent
Content Database
Checkpoint
instructions
instructions
Simple Recovery Model
.LDF
Data
Data
.MDFAddContent
Content Database
Checkpoint
instructions
instructions
Full Recovery Model (Recommended)
Data Files and Log files should be on different drives (and not the System drive)
Model db : recoverymodel = full
Tempdb : recovery model = simple
SharePoint DB : recoverymodel ?
Contend DB = full Config DB= simple
Services App DBs= itdepends :
• http://technet.microsoft.com/en-us/library/cc678868.aspx
Always On Availability groups: recovery = full !
(UAT & Production)
Developer Workstation /Test Farm: recovery = simple!
Increase Initial sizeIncrease Autogrowth
(MB , not %)
Don’t modify Model dbcollation Full Recovery Model
Configure Tempdb files
•#files = #cores
• (on sql server 2012 Max 8 if #cores > 8)
•Same size for every file
Configure Tempdb Size
•At Least 10% of Biggest Content DB’s Size
Tempdb Database Settings
• Increase Initial Size Setting
• Increase Autogrowth Settings (Use MB Not %)
•Use Simple Recovery Model
•Place on Different Drive Than Content Databases
Priority (Fastest to Slowest Drive)
Tempdb Data and Transaction Log Files
Content DataBaseTransaction Log Files
Search Database Data Files
Content Database Data Files
Use Multiple Data Files for Content and Search DB’s
Distribute Equally-Sized Data Files Across Separate Disks
Number of Data Files Should Be <= Number of Processor Cores
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Setup account(sp-install)
Must be:(SQL Server)
DBcreator(SQL Server) Securityadmin
Local admin Domain account
Farm has several databases; >20 if spousal installation
Site Collections only reside in one database
Content database contains multiple site collections (2,000 Default Setting)
If Site Collection > 100GB store in own content database
• Soft limit maximum size <= 200 GB
Job will defragment the indices
If fragment > 30% &
rowcount > 10.000
Job will update statistics
AUTO_CREATE_STATISTICS
OFF
DBCC CheckDB
Check REPAIR_REBUILD Option to Fix Errors (Not
Always Possible)REPAIR_ALLOW_DATA_
LOSS Not Supported
Time Consuming Operation, Run During
Non-Peak Hours
For Very Large DBs consider using option
MAXDOP=1
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
CPU
I/O (Iometer is a tool to check your SAN)
Network
Memory
Run a trace of Performance Counters (24 hours)
Provides templates of accuratecounters
Analyse regarding thresholds
Generate meaningfull reports
Use PAL (free)
(« Performance Analysis of Logs ») or SCOM
Use this trace as a baseline!!!
In production (live) Or Use Visual Studio (for Web performance Tests, simulate actions, number of users)
Counters: Should be:
Memory: Available Bytes At least 4 GB for the system
Logical Disk: Disk Reads/sec Between 15 and 25 ms
Logical Disk: Disk Writes/sec Between 15 and 25 ms
Process: cpu/working set/io SQLsrve.exe % other processes
Processor Max 40%
SQL Server: Buffer Manager: Buffer Cache Hit
Ratio
>97%
SQLServer: Buffer Manager: Page life
expectancy
> 300 sec (but do a baseline)
38
Part of SQL Server Enterprise (since SQL 2008)
Limits CPU and memory usage on some DBs (and IO in SQL Server 2014)
• like search DBs
Allow less CPU & mem & IO usage during work hours
Allow more CPU & mem & IO usage during off hours
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
SQL 1
FARM 1
SQL 2
High Availabilty
Synchronous
SQL 1
FARM 1
SQL 2
SynchronousHigh Availabilty
Database Supported
Admin Content Yes
App Management Yes
BDC Yes
Config Yes
Content Yes
Managed Metadata Yes
PerformancePoint Yes
PowerPivot Not Tested
Project Yes
Search Analytic Reporting Yes
Search Admin Yes
Database Supported
Search Crawl Yes
Search Links Yes
Secure Store Yes
State Service Yes
Subscription Settings Yes
Translation Services Yes
UPA Profile Yes
UPA Social Yes
UPA Sync Yes
Usage(=loggingDB) Yes – NR
Word Automation Yes
SQL 1
FARM 1
SQL 2
FARM 2
SQL 3
Asynchronous
DisasterRecovery
Synchronous
Database Supported
Admin Content No
App Management Yes
BDC Yes
Config No
Content Yes
Managed Metadata Yes
PerformancePoint Yes
PowerPivot Not Tested*
Project Yes
Search Analytic Reporting No
Search Admin No
Database Supported
Search Crawl No
Search Links No
Secure Store Yes
State Service No
Subscription Settings Yes
Translation Services Yes
UPA Profile Yes
UPA Social Yes
UPA Sync No
Usage Yes – NR
Word Automation Yes
SharePoint Saturday Montreal#SPSMontreal
5h00 PM
3971 Ontario E
Merci !
@thesqlgrrrl @sergeluca