Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimize SQL server performance for SharePoint

359 views

Published on

Optimize SQL server performance for SharePoint ; session presented by Serge Luca and Isabelle Van Campenhoudt at the SharePoint Saturday Montreal 2017

Published in: Software
  • Be the first to comment

  • Be the first to like this

Optimize SQL server performance for SharePoint

  1. 1. SharePoint Saturday Montreal#SPSMontreal May 13th 2017 SharePoint Saturday Montreal Rendre son SharePoint 2013/2016 extrêmement rapide en monitorant & optimisant SQL Server Serge Luca & Isabelle Van Campenhoudt ShareQL
  2. 2. SharePoint Saturday Montreal#SPSMontreal Gold Bronze Thanks to our sponsors !
  3. 3. 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/ ivc@ShareQL.com @thesqlgrrrl Isabelle Van Campenhoudt globalfrench.sqlpass.org
  4. 4. 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@ShareQL.com @SergeLuca Serge Luca
  5. 5. Credits Serge Luca Accidental DBA Isabelle Van Campenhoudt SQL guru
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. Optimize Hardware CPU RAM DISK Network
  11. 11. 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)
  12. 12. 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
  13. 13. • As part of capacity plan • Determine how much GB you need • Talk to the SAN team Because…
  14. 14. 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 database Low IOPS Not applicable. Search Analytics reporting database Medium IOPS Not applicable.
  15. 15. • 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)
  16. 16. 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
  17. 17. 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 SharePoint Use a dedicated instance Run the service with a Managed account No specific permission
  18. 18. 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 it creates its own db Cannot be changed after the setup !!!
  19. 19. Max degree of parallelism Maxdop=1
  20. 20. Specify memory limits
  21. 21. Backups Compression
  22. 22. Use alias for the connection string • Client alias or DNS alias (preferred) Good practice : every SP Content db must be created (and documented) by a DBA after a strict capacity plan
  23. 23. 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
  24. 24. System databases Master : similar to the SP configDB Model : template for other dbs Tempdb : temporarily results Msdb : for automation User databases The SharePoint databases
  25. 25. .MDF.LDFAdd Content Content Database Checkpoint instru ctions instru ctions Simple Recovery Model
  26. 26. .LDF Data Data .MDFAdd Content Content Database Checkpoint instru ctions instru ctions Full Recovery Model (Recommended) Data Files and Log files should be on different drives (and not the System drive)
  27. 27. Model db : recovery model = full Tempdb : recovery model = simple SharePoint DB : recovery model ? Contend DB = full Config DB= simple Services App DBs= it depends : • http://technet.microsoft.com/en- us/library/cc678868.aspx Always On Availability groups: recovery = full ! (UAT & Production) Developer Workstation /Test Farm: recovery = simple!
  28. 28. Increase Initial size Increase Autogrowth (MB , not %) Don’t modify Model db collation Full Recovery Model
  29. 29. 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
  30. 30. Priority (Fastest to Slowest Drive)  Tempdb Data and Transaction Log Files  Content DataBase Transaction 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
  31. 31. 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
  32. 32. Setup account (sp-install) Must be: (SQL Server) DBcreator (SQL Server) Securityadmin Local admin Domain account
  33. 33. 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
  34. 34. Job will defragment the indices If fragment > 30% & rowcount > 10.000 Job will update statistics AUTO_CREATE _STATISTICS OFF
  35. 35. 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
  36. 36. 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
  37. 37.  CPU  I/O (Iometer is a tool to check your SAN)  Network  Memory Run a trace of Performance Counters (24 hours)  Provides templates of accurate counters  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)
  38. 38. 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
  39. 39. 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
  40. 40. 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
  41. 41. SQL 1 FARM 1 SQL 2 High Availabilty Synchronous
  42. 42. SQL 1 FARM 1 SQL 2 Synchronous High Availabilty
  43. 43. 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
  44. 44. SQL 1 FARM 1 SQL 2 FARM 2 SQL 3 Asynchronous Disaster Recovery Synchronous
  45. 45. 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
  46. 46. SharePoint Saturday Montreal#SPSMontreal 5h00 PM 3971 Ontario E
  47. 47. Merci ! @thesqlgrrrl @sergeluca

×