SharePoint 2013 Spencer Harbar Architect SPC271 About Spencer Harbar Microsoft Certified Solutions Master SharePoint Microsoft Certified Architect SharePoint 2010 Microsoft Certified Master SharePoint 2010 ID: 387875
Download Presentation The PPT/PDF document "Request Management in" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Request Management inSharePoint 2013
Spencer HarbarArchitect
SPC271Slide3
About Spencer Harbar
Microsoft Certified Solutions Master | SharePointMicrosoft Certified Architect | SharePoint 2010
Microsoft Certified Master | SharePoint 2010
Microsoft Certified Master | SharePoint 2007
Microsoft Certified Master | SharePoint Instructor & Author Most Valuable Professional | SharePoint ServerSharePoint Patterns & Practices Advisory Board MemberWorks with SharePoint Product Group on ReadinessAuthor for MSDN & TechNet
SharePoint Architect
Edinburgh, United
Kingdom
www.harbar.net
| spence@harbar.net | @harbarsSlide4
Agenda
What is Request Management?
Usage Scenarios
Components,
Rules
and Evaluation
Architectural Overview
Example Scenario and Demonstration
Wrap Up and Recommendations
#
SPC271 IT-Pro, Level 300
Demo Heavy Session (Hopefully!
)
Configuration and ManagementSlide5
What is Request Management?Slide6
What is Request Management?
Allows SharePoint to understand more about, and control the handling of, incoming
HTTP requests
Having knowledge of the nature of incoming requests allows SharePoint to
customize
the response to each requestSlide7
What is Request Management?
Decide if a farm should accept a request
And if so, which web server should handle the request
Manages and routes incoming requests
Rules Based System
Deny potentially harmful requests
Route good requests
Optimize PerformanceSlide8
Usage ScenariosSlide9
Reliability and Performance
Request Management can route to web servers that have better performance, keeping low performance web servers available
Routing new requests to a web server with low performance can increase latency and cause timeouts
Requests from users and bots (e.g. search crawlers) have equal priority
Prioritize requests by throttling requests from bots to instead serve requests from end usersSlide10
Capacity Management
Request Management can send multiple or single requests to web servers that are designated to handle them
All web servers must be able to handle requests because they could be sent to any web server
Define “Server Groups” to handle certain types of traffic, e.g. Office Client Apps, Search Crawls
Request Management can send requests to logical groups of servers based upon request characteristicsSlide11
Scalability
Request Management can perform application routing so that a load balancer can concentrate on balancing load at the network level
Overwhelmed / Complex load balancer
Host scaling limited by load balancer
Request Management can route requests to independent content farmsSlide12
Operational Service Management
Request Management can send all requests of a specific type (e.g. Search, User Profiles, Office Web Apps) to specific servers
Server fails or responds slowly
Difficult to identify root cause of problems
Request Management can help locate and isolate the problem, whilst troubleshootingSlide13
Architectural OverviewSlide14
Request Management Fundamentals
Available in all SKUs
SharePoint Foundation Feature
Zero footprint before configuration
OFF by default
Critical to IA and deployment planning
Scoped at the Web ApplicationSlide15
SharePoint Web Server
SharePoint Foundation Web Application Service
Architectural Overview
Request Manager (RM)
Request Throttling and Prioritization
Filter out requests which should be throttled or prioritized
Request Routing
Select which web servers the request may be sent to
Request Load Balancing
Select a single web server to route to, based upon weighting schemes
Request Management Service
Incoming Requests
ConfigurationSlide16
Architectural Overview
Request Manager is implemented in
SPRequestModule
Request Manager is the first code that runs in response to HTTP requests
SharePoint Foundation Web Application Service (a.k.a. WFE)
Request Manager runs in process on the web server
Starting the Request Management Service Instance elsewhere serves no purpose
Request Management Service Instance should run on the web serverSlide17
Web Application Configuration
Impacts traditional deployments that use IIS host headers
IIS must be “listening” for Request Management to process requests
Where Request Management is configured
Processes all requests
Intended deployment includes a Web Application with NO host headers
Request Management may route requests to another Web Application
This Web Application may not host the content requestedSlide18
Host Based Sites (a.k.a
Host Named Site Collections)
Change to traditional deployments that use IIS host headers
Preferred logical architecture approach for SharePoint 2013
www.contoso.com
www.fabrikam.com
www.tailspin.com
Multiple Site Collections with “top level” host names in a single Web Application
For supportability
Even if no end user accesses that entry point
A root Site Collection is requiredSlide19
Deployment Modes
Request Management Service runs on the web servers in a farm
Common On-Premises environments
Integrated Mode
Dedicated Mode
A dedicated SharePoint farm which manages requests exclusively, and routes request to other farms
Large scale hosting environmentsSlide20
Integrated Mode Deployment
SharePoint Farm
Web Servers
RM
RM
RM
Load BalancerSlide21
Dedicated Mode Deployment
Request Management Farm
Web Servers
RM
RM
RM
Load Balancers
SharePoint Farm
SharePoint FarmSlide22
Comparing Deployment Modes
Characteristic
Integrated Mode
Dedicated Mode
Independent
scalingNo
Yes
Independent resource usage
NoYes
Large scale hosting scenariosNoYesCommon on premises deploymentYesNoEdition independenceNoYesContent Farm IIS Binding dependenceYesNoSlide23
Components,
Rules and EvaluationSlide24
Request Management Components
Static Weighting – configurable
Health Weighting – the SharePoint health score
Routing Targets
a.k.a. Machine Targets
Machine Pools
A collection of Routing Targets
The target of Routing RulesSlide25
Request Management Rules
Definition of criteria to evaluate before
routing
requests
Associated with a Machine Pool
Routing Rules
Throttling Rules
Definition of criteria to evaluate before
refusing
requests
NOT
associated with a Machine PoolSlide26
Request Management Components
A collection of Routing Rules
Allows for evaluation precedence
Three Execution Groups (0,1,2)
Execution Groups
Rule Criteria
Criteria to evaluate
Based upon HTTP propertiesSlide27
Rule Criteria
Url
UrlReferrer
UserAgent
Host
Properties
Match Methods
StartsWith
EndsWith
Equals
RegEx
(use with caution!)
IP
HttpMethod
SoapAction
CustomHeaderSlide28
Rule Evaluation
If matched, the request is
refused
If
NOT
matched, Routing Rules in
Execution Group 0
are evaluated
Throttling Rules
If matched, the request is routed to the correct Routing TargetIf NOT matched, Routing Rules in Execution Group 1 are evaluated
Routing Rules in Execution Group 0
If matched, the request is
routed
to the correct Routing Target
If
NOT
matched, Routing Rules in
Execution Group 2
are evaluated
Routing Rules in Execution Group 1
If matched, the request is
routed
to the correct Routing Target
If
NOT
matched, the request is
routed
to
ANY available Routing Target
Routing Rules in Execution Group 2Slide29
Rule EvaluationSlide30
Rule Evaluation Gotchas
Create the most important rules in Execution Group 0
As soon as a match is found, no more Execution Groups are evaluated
If no rules are matched, the request is routed to ANY available Routing Target
If you wish to route everything to a subset of machines, create a rule with no criteria and associate with the subset of machines Slide31
Configuration and ManagementSlide32
Configuration and Management
No Central Administration
100% Windows PowerShell
No!Slide33
Key Windows PowerShell cmdlets
Core configuration parent, scoped to the
web application.
Piped into other
cmdlets
*.
SPRequestManagementSettings
Slide34
Key Windows PowerShell cmdlets
Configure Machine Pools and their Routing Targets
*.
SPRoutingMachinePool
Slide35
Key Windows PowerShell cmdlets
Configure Routing Targets
Also necessary when configuring Dedicated Mode
*.
SPRoutingMachineInfoSlide36
Key Windows PowerShell cmdlets
Define criteria for Throttling or Routing Rules
New-
SPRequestManagementRuleCriteriaSlide37
Key Windows PowerShell cmdlets
Configure Throttling Rules
*.
SPThrottlingRuleSlide38
Key Windows PowerShell cmdlets
Configure Routing Rules and their Execution Group
*.
SPRoutingRuleSlide39
Monitoring
Category: Request Management
ULS Logs
Regular HTTP logs
SPPING Mechanism
IIS Logs
SharePoint Foundation: Request Management
Performance CountersSlide40
Example ScenarioSlide41
Example Scenario
Request Management in Integrated Mode
Single SharePoint Farm
SP1, SP2, SP3
l
oad balanced using BIG-IP Local Traffic Manager
Three SharePoint Web Servers
www.contoso.com
www.fabrikam.com
www.adventureworks.com
Three Host Named Site Collections (HNSC)Slide42
Requirements
Requests from OneNote client should be refused
Requests for PDFs should be served by
SP1 or SP2
Requests for the
Fabrikam
site collection should be served by SP1 or SP2
Requests for the Adventure Works site collection should be served by SP1 or SP2
Requests for the Contoso
site collection should be served by SP3Slide43
Logical ArchitectureSlide44
Demo
Integrated Mode Request Management Slide45
Demonstration Recap
Starting the Request Management Service
Creating Machine Pools
Configuring Routing Targets
Creating Throttling Rules
Creating Routing Rules
Validation and TestingSlide46
Wrap Up and RecommendationsSlide47
Summary
Reliability, Performance, Capacity and Scalability
Powerful capability to improve operational service
Application aware throttling and routing
Does NOT replace your load balancer
Just because you can, doesn’t mean you should!
Entirely optionalSlide48
Recommendations
A single bad rule could hose the entire farm
Rules planning is paramount
Significant performance penalty
Avoid badly authored Regular Expressions
Web Application with NO host headers
, Host Named Site Collections
Implement Host Based SitesSlide49
Recommendations
You need to be able to easily manage the RM configuration
Windows PowerShell
composability
is key
Interaction and operational service decisions
Plan co-existence with load balancerSlide50
Additional Resources
Three part series:
http://bit.ly/PArRBC
http://bit.ly/TeMNz0
http://bit.ly/VMQkbV
Comprehensive coverage and all the scripts
http://bit.ly/PPa9cB
TechNet Configuration Guidance
http://
bitly.com/RQEhIx
Additional scriptsSlide51
Evaluate this session now on
MySPC
using your laptop or mobile device:
http://myspc.sharepointconference.com
MySPCSlide52
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.