boost the performance of sharepoint today!

49
www.expertpointsolutions.com SharePoint 2013 Performance Brian Culver March 2013 SIA203 Boost the Performance of SharePoint Today!

Upload: brian-culver

Post on 29-Nov-2014

1.490 views

Category:

Technology


3 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Boost the Performance of SharePoint Today!

www.expertpointsolutions.com

SharePoint 2013 Performance

• Brian Culver ● March 2013 ● SIA203

Boost the Performance of SharePoint Today!

Page 2: Boost the Performance of SharePoint Today!

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

Page 3: Boost the Performance of SharePoint Today!

Session Agenda

• Software Boundaries

• What is Performance?

• Infrastructure Performance

• Hardware Performance

• SharePoint Performance

• Testing Performance

Page 4: Boost the Performance of SharePoint Today!

• 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

Software Boundaries

Page 5: Boost the Performance of SharePoint Today!

What is Poor Performance?

• Increased end user response time

• Reduced overall system throughput

Page 6: Boost the Performance of SharePoint Today!

Infrastructure Performance

• Active Directory

• Exchange

• Desktops

• Network Topology

• WAN Optimization

• SharePoint Farm

• Web Front Ends

• Application Servers

• Database Servers

Page 7: Boost the Performance of SharePoint Today!

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

Page 8: Boost the Performance of SharePoint Today!

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?

Page 9: Boost the Performance of SharePoint Today!

Search Performance

• Grouping content sources by speed

• Tuning crawling

• Protocol

• Authentication

• Choosing multithreaded iFilters

• Proper infrastructure

• Dedicated Query Apps vs Distributed Query Apps

Page 10: Boost the Performance of SharePoint Today!

SharePoint Farm Performance

• Authentication Performance

• # of round trips

• Processing speed of provider

• Fastest to Slowest

• Anonymous

• Claims Authentication

• Kerberos

• NTLM (Classic Windows Auth

• Basic

• Forms and WebSSO

• ADFS

In 2013, Claims is the default. Avoid Classic Authentication.

Page 11: Boost the Performance of SharePoint Today!

SharePoint Farm Performance

• Which Machines cause the bottleneck?

• Watch

• CPU

• Memory

• Disk I/O

• Network

Page 12: Boost the Performance of SharePoint Today!

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.

Page 13: Boost the Performance of SharePoint Today!

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.

Page 14: Boost the Performance of SharePoint Today!

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

Page 15: Boost the Performance of SharePoint Today!

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

Page 16: Boost the Performance of SharePoint Today!

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

Page 17: Boost the Performance of SharePoint Today!

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

Page 18: Boost the Performance of SharePoint Today!

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

Page 19: Boost the Performance of SharePoint Today!

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

Page 20: Boost the Performance of SharePoint Today!

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

Page 21: Boost the Performance of SharePoint Today!

List View Throttling and Load Performance Throttling

Demo

Page 22: Boost the Performance of SharePoint Today!

List View Throttling

Page 23: Boost the Performance of SharePoint Today!

List View Throttling

Page 24: Boost the Performance of SharePoint Today!

List View Throttling

Page 25: Boost the Performance of SharePoint Today!

List View Throttling – Gone in SP2013

Page 26: Boost the Performance of SharePoint Today!

List View Throttling

Page 27: Boost the Performance of SharePoint Today!

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

Page 28: Boost the Performance of SharePoint Today!

Object Cache Settings

• Configure caching via the Site

Settings

• Configure caching via

web.config for Web Applications.

• Web.config overrides the Site

Settings.

Page 29: Boost the Performance of SharePoint Today!

Output Cache Settings

• Configure caching via the Site

Settings

• Configure caching via

web.config for Web Applications.

• Web.config overrides the Site

Settings.

Page 30: Boost the Performance of SharePoint Today!

Publishing Site Output Cache (Site Output Cache)

• Now configurable per Site/Web

• Use the Publishing Images Library (Images)

• Use Pages Publishing Library (Pages)

Page 31: Boost the Performance of SharePoint Today!

Caching

Demo

Page 32: Boost the Performance of SharePoint Today!

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

Page 33: Boost the Performance of SharePoint Today!

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

Page 34: Boost the Performance of SharePoint Today!

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

100-100% (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

Page 35: Boost the Performance of SharePoint Today!

IIS Compression

Page 36: Boost the Performance of SharePoint Today!

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.

Page 37: Boost the Performance of SharePoint Today!

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.

Page 38: Boost the Performance of SharePoint Today!

Custom Code

• Common cause for poor performance

• Custom inefficient features

Page 39: Boost the Performance of SharePoint Today!

Testing Performance

• SharePoint Load/Performance Testing

• Population tools, performance tuning techniques

Page 40: Boost the Performance of SharePoint Today!

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

Page 41: Boost the Performance of SharePoint Today!

Developer Dashboard

Page 42: Boost the Performance of SharePoint Today!

Developer Dashboard

• Always ON for all usersON

• Completely OFF for all usersOFF

NOTE: Ondemand is only available in SP2010

$csvc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService; $devdash = $csvc.DeveloperDashboardSettings ;$devdash.DisplayLevel = "On“; $devdash.Update();

Page 43: Boost the Performance of SharePoint Today!

Developer Dashboard

Demo

Page 44: Boost the Performance of SharePoint Today!

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

Page 45: Boost the Performance of SharePoint Today!

Fiddler

• Great, light weight tool. Provides quick

overview of the website performance.

• Free (still .. for now)

• 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.

Page 46: Boost the Performance of SharePoint Today!

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.

Page 47: Boost the Performance of SharePoint Today!

Questions

??

?

?

Page 48: Boost the Performance of SharePoint Today!

Constructive Feedback Is Appreciated

Great information,

but would like to

have learned more

about [Insert Topic]Brian – Your

presentation

was …

Good

Demos!

Thanks!

Page 49: Boost the Performance of SharePoint Today!

Thank you!

Brian Culver, MCM

Twitter:

@spbrianculver

E-mail:

[email protected]

Blog:

http://blog.expertpointsolutions.com/