www.expertpointsolutions.comSharePoint 2013 Performance     Boost the Performance of SharePoint Today!         • Brian Cul...
About Brian Culver • SharePoint Solutions Architect for Expert Point Solutions • Based in Houston, TX • Author   • SharePo...
Session Agenda• Software Boundaries• What is Performance?• Infrastructure Performance• Hardware Performance• SharePoint Pe...
Software Boundaries• Understand the tested (by Microsoft) performance and capacity limits of SharePoint  • General recomme...
What is Poor Performance?• Increased end user response time• Reduced overall system throughput
Infrastructure Performance•   Active Directory•   Exchange•   Desktops•   Network Topology  • WAN Optimization• SharePoint...
SharePoint Farm Performance•   3-4 Web Servers per DC•   8 Web Servers per SQL Server•   Bandwidth and Latency<1 ms•   10 ...
Search Performance• Crawl Time: How long does the overall time the crawl takes?• Corpus Size: How big is the corpus size?•...
Search Performance• Grouping content sources by speed  • Tuning crawling  • Protocol  • Authentication• Choosing multithre...
SharePoint Farm Performance• Authentication Performance  • # of round trips  • Processing speed of provider• Fastest to Sl...
SharePoint Farm Performance• Which Machines cause the bottleneck?• Watch  • CPU  • Memory  • Disk I/O  • Network
SharePoint Farm Performance• Requests per Second (RPS): How many requests you can service?RPS is used for measuring how ma...
SharePoint Farm Performance• Understand SharePoint workload  • Use RAID 10 over other RAID ##  • And yes, RAID 10 for Shar...
Common Performance Problems• Large Lists• Lots of Web Parts importing non-cached data from variousplaces• Cross-List queri...
SharePoint PerformanceWe will discuss the following:• Large List Control• Performance Throttling• Developer Dashboard  • G...
Large List ControlSo what is new?• Lists and Libraries hold 50,000,000items• Recommended List View• Size:  • Why 2000 or 5...
List View Throttling• Limits the number of list items returned per view.  • Operations that exceed this limit are prohibit...
List View Throttling• List can be configured individually via API• Daily Time Window for Large Queries: Turn off Throttlin...
Performance Throttling• HTTP Request Monitoring and Throttling: Throttle Performance duringhigh server load   • SharePoint...
Performance Throttling• Protects the server during peak loads. Monitors:  • Available Memory  • CPU %  • ASP.NET Queue  • ...
DemoList View Throttling and Load Performance Throttling
List View Throttling
List View Throttling
List View Throttling
List View Throttling – Gone in SP2013 
List View Throttling
Caching• Page Output Cache: for generated HTML markup for future requests  • Cache frequently used Lists and reduce round ...
Object Cache Settings• Configure caching via the SiteSettings• Configure caching viaweb.config for Web Applications.  • We...
Output Cache Settings• Configure caching via the SiteSettings• Configure caching viaweb.config for Web Applications.  • We...
Publishing Site Output Cache (Site Output Cache)• Now configurable per Site/Web• Use the Publishing Images Library (Images...
DemoCaching
IIS 7.0/8.0 Performance• Design pages for fast downloading and rendering• Lazy loading of large JavaScript files• Clusteri...
IIS 7.0/8.0 Performance• Reduce amount of data sent to client and reduce the number of trips abrowser makes.• View State C...
IIS 7.0/8.0 Performance• Increase static compression level to 9 and dynamic to 9APPCMD.EXE set config -section:httpCompres...
IIS Compression
Content Search Web Part• Powerful web part for searching, aggregating and rolling upinformation from literally any source....
Content Query Web Part• Powerful web part for aggregating and rolling up information fromvarious sources.• Designed to lev...
Custom Code• Common cause for poor performance• Custom inefficient features
Testing Performance• SharePoint Load/Performance Testing• Population tools, performance tuning techniques
Developer Dashboard• Allows monitoring page loads and performance• Information:  • Times to render page  • Page checkout l...
Developer Dashboard
Developer Dashboard       ON            •   Always ON for all users       OFF           •   Completely OFF for all usersNO...
DemoDeveloper Dashboard
Visual Studio Test Suite• Test throughout your testinglifecycle of planning, testing andtracking your progress• Use with T...
Fiddler• Great, light weight tool. Provides quickoverview of the website performance.• Free (still .. for now)• It can als...
YSlow• Analyzes web pages and suggestsways to improve their performancebased on a set of rules for highperformance web pag...
Questions                ?                    ?      ?            ?
Constructive Feedback Is Appreciated                                       Great information,                             ...
Brian Culver, MCMTwitter:@spbrianculverE-mail:brian.culver@expertpointsolutions.com   Thank you!Blog:http://blog.expertpoi...
Upcoming SlideShare
Loading in …5
×

Boost the Performance of SharePoint Today!

1,979 views

Published on

Is your farm struggling to server your organization? How long is it taking between page requests? Where is your bottleneck in your farm? Is your SQL Server tuned properly? Worried about upgrading due to poor performance? We will look at various tools for analyzing and measuring performance of your farm. We will look at simple SharePoint and IIS configuration options to instantly improve performance. I will discuss advanced approaches for analyzing, measuring and implementing optimizations in your farm as well as Performance Improvements in SharePoint 2013.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,979
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
48
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Boost the Performance of SharePoint Today!

  1. 1. www.expertpointsolutions.comSharePoint 2013 Performance Boost the Performance of SharePoint Today! • Brian Culver ● March 2013 ● SIA203
  2. 2. About Brian Culver • SharePoint Solutions Architect for Expert Point Solutions • Based in Houston, TX • Author • SharePoint 2010 Unleashed • Upcoming SharePoint 2013 Workflows • Various White Papers • Speaker and Blogger
  3. 3. Session Agenda• Software Boundaries• What is Performance?• Infrastructure Performance• Hardware Performance• SharePoint Performance• Testing Performance
  4. 4. Software Boundaries• Understand the tested (by Microsoft) performance and capacity limits of SharePoint • General recommendations for average hardware and usage • Many come from MSIT • > 150,000 employees and vendors • Very large amounts of content • Globally accessed • Meet various goals including: • Backup and restore to meet standard SLAs • Ensure good performance early on with low hardware standards and low knowledge requirements • Allow configuration to scale and maintain decent performance• SharePoint 2013 Software Boundaries • http://technet.microsoft.com/en-us/library/cc262787.aspx• SharePoint 2010 Software Boundaries • http://technet.microsoft.com/en-us/library/cc262787(v=office.14).aspx• SharePoint 2007 Software Boundaries • http://technet.microsoft.com/en-us/library/cc262787(v=office.12).aspx
  5. 5. What is Poor Performance?• Increased end user response time• Reduced overall system throughput
  6. 6. Infrastructure Performance• Active Directory• Exchange• Desktops• Network Topology • WAN Optimization• SharePoint Farm • Web Front Ends • Application Servers • Database Servers
  7. 7. SharePoint Farm Performance• 3-4 Web Servers per DC• 8 Web Servers per SQL Server• Bandwidth and Latency<1 ms• 10 Application Pools per web server• 20 web applications per farm• Search: Indexing • iFilters • # of servers • Scheduling and throttling of crawling• “Boundaries” vs. “Supported”• Test, test, test
  8. 8. Search Performance• Crawl Time: How long does the overall time the crawl takes?• Corpus Size: How big is the corpus size?• Indexing Speed: How many documents are being indexed persecond?
  9. 9. Search Performance• Grouping content sources by speed • Tuning crawling • Protocol • Authentication• Choosing multithreaded iFilters• Proper infrastructure • Dedicated Query Apps vs Distributed Query Apps
  10. 10. SharePoint Farm Performance• Authentication Performance • # of round trips • Processing speed of provider• Fastest to Slowest • Anonymous • Claims Authentication • Kerberos • NTLM (Classic Windows Auth In 2013, Claims is • Basic the default. Avoid • Forms and WebSSO Classic • ADFS Authentication.
  11. 11. SharePoint Farm Performance• Which Machines cause the bottleneck?• Watch • CPU • Memory • Disk I/O • Network
  12. 12. SharePoint Farm Performance• Requests per Second (RPS): How many requests you can service?RPS is used for measuring how many pages are delivered. It canmeasure how many searches are executed.• Requests per Hour (RPH): Average user requests in an hour.• Page Time (TTLB): How long it takes to deliver a page back to theclient? Used in conjunction with RPS.• For example, our farm needs to deliver 100 RPS and pages shouldreach the client within 5 seconds.
  13. 13. SharePoint Farm Performance• Understand SharePoint workload • Use RAID 10 over other RAID ## • And yes, RAID 10 for SharePoint is better than RAID 5, 50, 60, etc.• Separate your database files • ** TempDB ** is the most heavily used DB ** • Create a TempDB per proc • Usage database is very busy • Search database is very busy • Log files separate from data files • Place different databases on different volumes • SQL Server files separate from other uses (e.g. OS files) • Separate your files according to I/O workload. • A single volume may be fast enough to handle several databases.
  14. 14. Common Performance Problems• Large Lists• Lots of Web Parts importing non-cached data from variousplaces• Cross-List queries and CBQ Web Parts• Too Deep Site Structures• Too many sites in a site collection• Too many site collections in a Content DB• Too many ACLs
  15. 15. SharePoint PerformanceWe will discuss the following:• Large List Control• Performance Throttling• Developer Dashboard • Great for IT Pros and Developers alike• Caching• IIS 7.0/8.0• Content Query Web Part
  16. 16. Large List ControlSo what is new?• Lists and Libraries hold 50,000,000items• Recommended List View• Size: • Why 2000 or 5000?• Server Overload• Solution:• List View Throttling
  17. 17. List View Throttling• Limits the number of list items returned per view. • Operations that exceed this limit are prohibited.• Recommended to configure at the Web Application level.• Default List View Threshold values: • 5000 for Users • 20000 for Auditors and Administrator
  18. 18. List View Throttling• List can be configured individually via API• Daily Time Window for Large Queries: Turn off Throttling during a dailywindow • Comes with a Warning• List View Lookup Threshold: How many complex fields are allowed • Lookup, Person/Group, or workflow status fields • Result in JOINs
  19. 19. Performance Throttling• HTTP Request Monitoring and Throttling: Throttle Performance duringhigh server load • SharePoint monitors performance counters and uses threshhold values • Get 503 request errors • Timer Job fails to start • PUT request still allowed• Search can trigger performance throttling and cause issues
  20. 20. Performance Throttling• Protects the server during peak loads. Monitors: • Available Memory • CPU % • ASP.NET Queue • Wait time in queue• Checked every 5 seconds • 3 over limit start throttling, logs events • 1 below limit stop throttling• Configure via PowerShell and Object Model• Adds/Remove counters via Object Model
  21. 21. DemoList View Throttling and Load Performance Throttling
  22. 22. List View Throttling
  23. 23. List View Throttling
  24. 24. List View Throttling
  25. 25. List View Throttling – Gone in SP2013 
  26. 26. List View Throttling
  27. 27. Caching• Page Output Cache: for generated HTML markup for future requests • Cache frequently used Lists and reduce round trips to the database• Object Cache: for common objects and query results • Content Query Web Part • List Views• Disk-Based (BLOB) Cache: for commonly requested files on WFEdisks • Automatically cache BLOBs and reduce round trips to the content databases
  28. 28. Object Cache Settings• Configure caching via the SiteSettings• Configure caching viaweb.config for Web Applications. • Web.config overrides the Site Settings.
  29. 29. Output Cache Settings• Configure caching via the SiteSettings• Configure caching viaweb.config for Web Applications. • Web.config overrides the Site Settings.
  30. 30. Publishing Site Output Cache (Site Output Cache)• Now configurable per Site/Web• Use the Publishing Images Library (Images)• Use Pages Publishing Library (Pages)
  31. 31. DemoCaching
  32. 32. IIS 7.0/8.0 Performance• Design pages for fast downloading and rendering• Lazy loading of large JavaScript files• Clustering images • Reduce image requests• Reduce the number of secured items in pages • Each secured request results in two roundtrips • Validate credentials • Enumeration of groups the user belongs to• Leverage IIS Compression • Static Compression • Dynamic Compression
  33. 33. IIS 7.0/8.0 Performance• Reduce amount of data sent to client and reduce the number of trips abrowser makes.• View State Caching and Reduce Payload. • Cache View State to be used in subsequent post-backs • Minify JavaScript • Remove redundant white spaces and new lines • Reduce File Requests • Merge multiple JavaScript/CSS files in one request • Microsoft didn’t get the memo on this one in SP2013
  34. 34. IIS 7.0/8.0 Performance• Increase static compression level to 9 and dynamic to 9APPCMD.EXE set config -section:httpCompression -[name=gzip].staticCompressionLevel:9 -[name=gzip].dynamicCompressionLevel:9• Change dynamic compression CPU utilization threshold range from100-100% (This effectively disables it)APPCMD.EXE set config –section:httpCompression /dynamicCompressionDisableCpuUsage:100APPCMD.EXE set config –section:httpCompression /dynamicCompressionEnableCpuUsage:100• Enable caching before insertion into page output cacheAPPCMD.EXE set config –section:urlCompression /dynamicCompressionBeforeCache:true
  35. 35. IIS Compression
  36. 36. Content Search Web Part• Powerful web part for searching, aggregating and rolling upinformation from literally any source.• Best Performance period! • Security Trimming • Cross Site Collection scoping • Very flexible• Use Display Templates to customize output.
  37. 37. Content Query Web Part• Powerful web part for aggregating and rolling up information fromvarious sources.• Designed to leverage the object cache by caching the query results. • In MOSS 2007, Disabled by default • In SP2010 and SP2013, Enabled by default• Best performance when content shares the same permissions anddoesn’t change often.
  38. 38. Custom Code• Common cause for poor performance• Custom inefficient features
  39. 39. Testing Performance• SharePoint Load/Performance Testing• Population tools, performance tuning techniques
  40. 40. Developer Dashboard• Allows monitoring page loads and performance• Information: • Times to render page • Page checkout level • DB query info • Web part processing time • Any critical events or alerts
  41. 41. Developer Dashboard
  42. 42. Developer Dashboard ON • Always ON for all users OFF • Completely OFF for all usersNOTE: Ondemand is only available in SP2010$csvc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService;$devdash = $csvc.DeveloperDashboardSettings ;$devdash.DisplayLevel = "On“;$devdash.Update();
  43. 43. DemoDeveloper Dashboard
  44. 44. Visual Studio Test Suite• Test throughout your testinglifecycle of planning, testing andtracking your progress• Use with TFS to automate builds,deployments and testing
  45. 45. Fiddler• Great, light weight tool. Provides quickoverview of the website performance.• Free (still .. for now)• It can also record scripts that you can use inVisual Studio Test Suite.• neXpert: Fiddler Add-on that checks forclassic performance best practices andproduces a HTML report on the issues found ina Fiddler capture.
  46. 46. YSlow• Analyzes web pages and suggestsways to improve their performancebased on a set of rules for highperformance web pages.• Grades web page based rulesets.• Suggests performanceimprovements, summarizes pagecomponents, statistics for the page,and provides tools for performanceanalysis.
  47. 47. Questions ? ? ? ?
  48. 48. Constructive Feedback Is Appreciated Great information, but would like to have learned more Brian – Your about [Insert Topic] presentation was … Thanks! Good Demos!
  49. 49. Brian Culver, MCMTwitter:@spbrianculverE-mail:brian.culver@expertpointsolutions.com Thank you!Blog:http://blog.expertpointsolutions.com/

×