SharePoint 2013 Performance Boost the Performance of SharePoint Today! SharePoint 2013 Performance Boost the Performance of SharePoint Today! Brian Culver.

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

Starfish: A Self-tuning System for Big Data Analytics.
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Go Live! Launching your MOSS Publishing site DEV435 Spencer Harbar.
Intro to SharePoint 2013 Architecture Liam Cleary.
SharePoint Acceleration Performance for the Rest of Us Part 2 - Revenge of the Milliseconds Keith Tuomi.
Turners SharePoint Web Site How we did it. 2 Page Anatomy Custom Search Web Part Custom Search Web Part Data Form Web Parts Content Query Web Part HTML.
Todd Klindt Solanite Consulting.  WSS MVP since 2006  Speaker, writer, consultant, Aquarius  Personal Blog
SharePoint 2013 Catalog Sites Brian Culver ● SharePoint Saturday DFW ● March 7, 2015 Build a SharePoint 2013 Search Driven.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
SharePoint 2010 First Look: What's new for Developers in Microsoft SharePoint 2010 Matthew McDermott, MVP Aptillon, Able
Welcome to the Minnesota SharePoint User Group November 11 th, 2009 SharePoint 2010 Administration Wes Preston, Brian Caauwe.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Microsoft ® Official Course Developing Optimized Internet Sites Microsoft SharePoint 2013 SharePoint Practice.
Maintaining and Updating Windows Server 2008
SharePoint Server 2013 Architecture and Identity
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
Presented by Jacob Wilson SharePoint Practice Lead Bross Group 1.
Capacity Planning in SharePoint Capacity Planning Process of evaluating a technology … Deciding … Hardware … Variety of Ways Different Services.
©2011 Quest Software, Inc. All rights reserved. Steve Walch, Senior Product Manager Blog: November, 2011 Partner Training Webcast.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
NovaBACKUP 10 xSP Technical Training By: Nathan Fouarge
Enterprise Search. Search Architecture Configuring Crawl Processes Advanced Crawl Administration Configuring Query Processes Implementing People Search.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Virtual Memory Tuning   You can improve a server’s performance by optimizing the way the paging file is used   You may want to size the paging file.
Network and Active Directory Performance Monitoring and Troubleshooting NETW4008 Lecture 8.
OM. Brad Gall Senior Consultant
First Look Clinic: What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Sayed Ali (MCTS, MCITP, MCT, MCSA, MCSE )
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.
TechEd /22/2017 5:40 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Designing and Deploying a Scalable EPM Solution Ken Toole Platform Test Manager MS Project Microsoft.
Module 13 Implementing Business Continuity. Module Overview Protecting and Recovering Content Working with Backup and Restore for Disaster Recovery Implementing.
Module 10 Administering and Configuring SharePoint Search.
Maintaining and Updating Windows Server Monitoring Windows Server It is important to monitor your Server system to make sure it is running smoothly.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
“Load Testing Early and Often” By Donald Doane Presentation to the Rockville MDCFUG.
Hosted SharePoint. Part 3/3: Office Live as a WSS solution Speaker Name Microsoft Corporation Hosted.
Microsoft Management Seminar Series SMS 2003 Change Management.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Asia Pacific SharePoint Conference 2007 May 15th to 16th, 2007 Hilton Hotel Sydney.
A ConfigMgr 2012 Site Review MMS Minnesota 2014 Kent Agerlund / Steve Thomson.
Intro to Datazen.
System Center Lesson 4: Overview of System Center 2012 Components System Center 2012 Private Cloud Components VMM Overview App Controller Overview.
Jorke Odolphi Product Technology Specialist WebCentral Using Microsoft Operations Manager To Monitor And Maintain Your Farm.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Aniruddha Deswandikar & Govind Kanshi Microsoft Technology Center, Bangalore SESSION CODE: ##### Building performant Web applications.
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Databases Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – SharePoint Database.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Maintaining and Updating Windows Server 2008 Lesson 8.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
Nick Swan Lightning Tools MVP SharePoint Server SharePoint 2007 Capacity and Performance Planning.
Unlock your Big Data with Analytics and BI on Office365 Brian Culver ● SharePoint Fest Seattle● BI102 ● August 18-20, 2015.
Blog.eardley.org.uk SharePoint Databases What you need to know Alan Eardley SQL Saturday Exeter 25 April 2015.
SharePoint 2010 Performance and Capacity Planning Best Practices
Netscape Application Server
SharePoint Solutions Architect, Protiviti
Cisco Data Virtualization
What is SharePoint and why you should care
Microsoft SharePoint Server 2016
SharePoint 2019 Changes Point of View.
Designing IIS Security (IIS – Internet Information Service)
Microsoft Dynamics.
SharePoint 2013 Best Practices
Presentation transcript:

SharePoint 2013 Performance Boost the Performance of SharePoint Today! SharePoint 2013 Performance Boost the Performance of SharePoint Today! Brian Culver

Special Thanks to our Platinum Sponsor …and our Gold Sponsor

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

Session Agenda Software Boundaries What is Performance? Infrastructure Performance Hardware Performance SharePoint Performance Testing Performance

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 SharePoint 2010 Software Boundaries SharePoint 2007 Software Boundaries Software Boundaries

What is Poor Performance? Increased end user response time Reduced overall system throughput

Infrastructure Performance Active Directory Exchange Desktops Network Topology WAN Optimization SharePoint Farm Web Front Ends Application Servers Database Servers

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, Measure, and Re-test

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 per second?

Search Performance Grouping content sources by speed Tuning crawling Protocol Authentication Choosing multithreaded iFilters Proper infrastructure Dedicated Query Apps vs Distributed Query Apps

SharePoint Farm Performance Authentication Performance # of round trips Processing speed of provider Fastest to Slowest Anonymous Claims Authentication Kerberos NTLM (Classic Windows Authentication Basic Forms and WebSSO ADFS In 2013, Claims is the default. Avoid Classic Authentication.

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 many pages are delivered. It can measure 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 the client? Used in conjunction with RPS. For example, our farm needs to deliver 100 RPS and pages should reach the client within 5 seconds.

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.

Common Performance Problems Large Lists Lots of Web Parts importing non-cached data from various places 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

SharePoint Performance We 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

Large List Control So what is new? Lists and Libraries hold 50,000,000 items Recommended List View Size: Why 2000 or 5000? Server Overload Solution: 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 for Auditors and Administrator

List View Throttling List can be configured individually via API Daily Time Window for Large Queries: Turn off Throttling during a daily window Comes with a Warning List View Lookup Threshold: How many complex fields are allowed Lookup, Person/Group, or workflow status fields Result in JOINs

Performance Throttling HTTP Request Monitoring and Throttling: Throttle Performance during high 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

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 Add/Remove counters via Object Model

List View Throttling and Load Performance Throttling Demo

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 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 WFE disks Automatically cache BLOBs and reduce round trips to the content databases

Object Cache Settings Configure caching via the Site Settings Configure caching via web.config for Web Applications. Web.config overrides the Site Settings.

Output Cache Settings Configure caching via the Site Settings Configure caching via web.config for Web Applications. Web.config overrides the Site Settings.

Publishing Site Output Cache (Site Output Cache) Now configurable per Site/Web Use the Publishing Images Library (Images) Use Pages Publishing Library (Pages)

Caching Demo

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

IIS 7.0/8.0 Performance Reduce amount of data sent to client and reduce the number of trips a browser 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

IIS 7.0/8.0 Performance Increase static compression level to 9 and dynamic to 9 APPCMD.EXE set config -section:httpCompression - [name='gzip'].staticCompressionLevel:9 -[name='gzip'].dynamicCompressionLevel:9 Change dynamic compression CPU utilization threshold range from % (This effectively disables it) APPCMD.EXE set config –section:httpCompression /dynamicCompressionDisableCpuUsage:100 APPCMD.EXE set config –section:httpCompression /dynamicCompressionEnableCpuUsage:100 Enable caching before insertion into page output cache APPCMD.EXE set config –section:urlCompression /dynamicCompressionBeforeCache:true

IIS Compression

Content Search Web Part Powerful web part for searching, aggregating and rolling up information from literally any source. Best Performance period! Security Trimming Cross Site Collection scoping Very flexible Use Display Templates to customize output.

Content Query Web Part Powerful web part for aggregating and rolling up information from various 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 and doesn’t change often.

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 level DB query info Web part processing time Any critical events or alerts

Developer Dashboard

Always ON for all users ON Completely OFF for all users OFF NOTE: Ondemand is only available in SP2010 $csvc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService; $devdash = $csvc.DeveloperDashboardSettings ; $devdash.DisplayLevel = "On“; $devdash.Update();

Developer Dashboard Demo

Visual Studio Test Suite Test throughout your testing lifecycle of planning, testing and tracking your progress Use with TFS to automate builds, deployments and testing

Fiddler Great, light weight tool. Provides quick overview of the website performance. Free (still …) It can also record scripts that you can use in Visual Studio Test Suite. neXpert: Fiddler Add-on that checks for classic performance best practices and produces a HTML report on the issues found in a Fiddler capture.

YSlow Analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages. Grades web page based rulesets. Suggests performance improvements, summarizes page components, statistics for the page, and provides tools for performance analysis.

Questions ? ? ? ?

Constructive Feedback Is Appreciated Great information, but would like to have learned more about [Insert Topic] Brian – Your presentation was … Good Demos! Thanks!

Thank you! Blog: