Rev Your Engines - SharePoint Performance Enhancements

Post on 20-Mar-2017

260 views 1 download

Transcript of Rev Your Engines - SharePoint Performance Enhancements

Rev Your EnginesSharePoint Performance Enhancements

Tweet this talk

#UConnect@eshupps

Eric ShuppsSharePoint MVP

About Me

@eshupps sharepointcowboywww.sharepointcowboy.-com

slideshare.net/eshupps linkedin.com/in/eshupps

Eric ShuppsSharePoint Server MVP

Agenda

Learn something you might if pay

attention you will.

BuildTo

Suit

TheDatabase

IsKing

CacheIn

Make theNetworkWork for

You

KeepTrafficMoving

LookGood ButPerformBetter

Architecture

Database

Search BI App

Users

Web Web

2007 & 2010

Architecture

Database

Users

Search BI App

Web Web

Database

DistritbCache

DistribCache

Request

Manager

Request

Manager

Request

Manager

OfficeWeb Apps

Workflow

Apps

Azure

O365

2013

HYBRID

Internal Network• Capacity• Load• Traffic Isolation• Web• Database• Service Applications• Search• Caching• Workflow• WAC

• Indexing

External NetworkMigrations/Initial Data Transfer• Internal and External Bandwidth• ExpressRoute• Azure Storage

Cloud• Content Delivery Network• Geographic Distribution (WAN link

balancing)• Page contents

Database Optimization

Migration• Content

archiving• Page cleanup• Data purging• Shrink files• Versions!

Operations • Disk I/O• Index

maintenance• Auto-growth• Quotas

Disaster Recovery• Database size• Available

bandwidth

Database Distribution

• Provisioning overhead

• Data isolation

• Content storage

• Query locks and throttling

• Utilization• Recoverability

• Resource Consumption

• Availability

System Services

Site Collecti

onsLists

Database Fundamentals

Physical hardware resources

Network connectivity

Disk specifications

File location

Index maintenance

High availability

Request Management

SP aware rule basedtraffic shaping

Throttling

Prioritization

Routing

Load Balancing

Seek not too much data or throttled

you shall be.

Request Management ModesIntegrated

Dedicated

Request Management Components

Machine Pool

RoutingTarget

RoutingTarget Execution Group

Throttling Rules

Health

Weight

StaticWeig

ht

Health

Weight

StaticWeig

ht

Routing

Rule

Routing

Rule

Routing

Rule

Routing

Rule

Request Management RulesThrottling Rules

Rule1

Rule2

Rule3

Execution Group 0

Rule1

Rule2

Rule3

Execution Group 1

Rule5

Rule6

Rule7

Execution Group 3

Rule8

Rule9

Rule0

Machine Pool 1Serve

r1

Server2

Server3

Machine Pool 2Serve

r4

Server5

Server6

Request Management CommandsEnable RoutingGet-SPWebApplication | Set-SPRequestManagementSettings –RoutingEnabled $true –ThrottlingEnabled $true

Static WeightingGet-SPWebApplication | Get-SPRequestManagementSettings | Set-SPRequestManagementSettings –RoutingEnabled $true –ThrottlingEnabled $false –RoutingWeightScheme Static

Health WeightingGet-SPWebApplication | Get-SPRequestManagementSettings | Set-SPRequestManagementSettings –RoutingEnabled $true –ThrottlingEnabled $false –RoutingWeightScheme Health

Request Management CommandsAdd Routing Target$web=Get-SPWebApplication -Identity http://portal.lonestar.com$rm=Get-SPRequestManagementSettings -Identity $web Add-SPRoutingMachineInfo –RequestManagementSettings $rm -Name SP2013A -Availability Available

Create Routing Rule$w = Get-SPWebApplication -identity http://portal.lonestar.com$rmset = $w | Get-SPRequestManagementSettings$criteria = New-SPRequestManagementRuleCriteria -Property Url -Value ".*\.xlsx" -MatchType Regex$mp = Add-SPRoutingMachinePool -RequestManagementSettings $rmset -Name DemoPool -MachineTargets ($rmset | Get-SPRoutingMachineInfo -Name SP2013A)$rmset | Add-SPRoutingRule -Name "Excel Rule" -Criteria $criteria -MachinePool $mp

Distributed CacheIndepende

ntCache

Configurable

MemoryAllocation

No DatabasePersistenc

e

Dedicatedor

CollocatedFaster things are if cached they

become.

Distributed Cache Dependencies

LoginTokenCache

AccessCache

Feeds(Activities,Likes,Mentions,Do

c Actions)

SearchQuery

Web Part

LastModifiedCache

SecurityTrimming

Cache

OneNoteThrottling

AppTokenCache

View StateCache

DefaultCache

Distributed Cache GuidelinesDeployment size Small farm Medium farm Large farm Total number of users < 10,000 < 100,000 < 500,000Recommended cache size for the Distributed Cache service

1 GB(Default 10% RAM)

2.5 GB(Manual adjustment)

12 GB(Limit of16GB per server)

Total memory allocation for the Distributed Cache service (double the recommended cache size above)

2 GB(Memory size must match in all servers)

5 GB 24 GB(32GB Max Limit)

Recommended architectural configuration

Dedicated server or co-located on a front-end server

Dedicated server Dedicated server

Minimum cache hosts per farm 1 1 1

Request Management CommandsProvision$instanceName ="SPDistributedCacheService Name=AppFabricCachingService”$serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername} $serviceInstance.Provision()

Add ServerAdd-SPDistributedCacheServiceInstance

Set Cache SizeUpdate-SPDistributedCacheSize -CacheSizeInMB 1200

User InterfaceClient-Side

Rendering

MinimalDownload

DeviceChannels

OptimizedMarkup

ImageRendition

s

ContentBy

Search

Deceptive is the power of UX. Seek

not form over function.

Customizations

Page Components

• Markup• Navigation• Images• Scripts• Code• Web and App

Parts

Branding

• Styles• Resources• Master Pages• JavaScript

Injection

Page Components

Page

Page

Master Page

Layout Page

Navigation

ControlsPermissi

onsMenu

OptionsWebParts

Data Sources

File System Database Extern

al

Minimal Download

2010Page 1

Controls

Chrome

Content

Page 2Controls

Chrome

Content

First Request

Second Request

2013Page 1

Controls

Chrome

Content

Page 2Controls

Chrome

Content

Dow

nloa

dM

anag

erD

ownl

oad

Man

ager

First Request

Second Request

Page Rendering

2010 2013

Page Weight2010

29 Requests / 570KB

2013

21 Requests / 321KB

Office 365

MasterPage

Scripts

Branding

StyleAssets

ContentQuery

ContentSearch

ListViews

Apps

Navigation

StuffYou

Can’t Control

Summary

Awake still are you?

BuildTo

Suit

TheDatabase

IsKing

CacheIn

Make theNetworkWork for

You

KeepTrafficMoving

LookGood ButPerformBetter