Best Practices for Building Your Website for Scale with Microsoft SharePoint 2010 Josh Stickler Program Manager Microsoft Corporation OSP333.

Slides:



Advertisements
Similar presentations
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
Advertisements

Maxim Zhvirblya EPAM Systems © 2013 Or make MSSQL breathe easily RBS and Blob Cache in SharePoint 2013.
Physical Topology Logical Topology Authentication Licensing.
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.
OFC323 Dot-Com Meets SharePoint: Building an Internet-Facing Web Site Using Microsoft Office SharePoint Server 2007 Jim Masson Lead Program Manager Microsoft.
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
Implementation Considerations for FAST Search For SharePoint (FS4SP) Presenter : Shyam Narayan MOSSIG – February 2011 Meeting b:
Enterprise Search With SharePoint Portal Server V2 Steve Tullis, Program Manager, Business Portal Group 3/5/2003.
Implementing ISA Server Caching. Caching Overview ISA Server supports caching as a way to improve the speed of retrieving information from the Internet.
Welcome to the Minnesota SharePoint User Group November 11 th, 2009 Prepare for SharePoint 2010 Wes Preston, Brian Caauwe Meeting.
Welcome to the Minnesota SharePoint User Group November 11 th, 2009 SharePoint 2010 Administration Wes Preston, Brian Caauwe.
Microsoft ® Official Course Developing Optimized Internet Sites Microsoft SharePoint 2013 SharePoint Practice.
Jonas Thomsen, Ph.d. student Computer Science University of Aarhus Best Practices and Techniques for Building Secure Microsoft.
Microsoft Office SharePoint Server Business Intelligence Tom Rizzo Director, Microsoft Office SharePoint Server
SQL Server 2008 for Hosting Key Questions to Address How can SQL Server save your costs? How can SQL Server help you increase customer base? How can.
Operating and Optimizing Multi-Tenant SaaS Applications in Windows Azure: An IT Pro Perspective Rainer Stropek CEO, Co-Founder software architects gmbh.
Making the most of Search in Microsoft SharePoint Online Corey Roth Applications Architect Infusion OSP338.
Setting Up a Sandbox Presented by: Kevin Brunson Chief Technology Officer.
Capacity Planning in SharePoint Capacity Planning Process of evaluating a technology … Deciding … Hardware … Variety of Ways Different Services.
Module 2 Deploying SharePoint Portal Server 2003.
Sitefinity Performance and Architecture
Branding and Customizing My Sites with Microsoft SharePoint Server 2010 John Ross & Randy Drisgill MVPs Rackspace Hosting OSP337.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
Russ Houberg Senior Technical Architect, MCM KnowledgeLake, Inc.
Step-by-Step Building Search Driven Applications That Matter Scot Hillier SharePoint MVP Scot Hillier Technical Solutions, LLC OSP336.
Edwin Sarmiento Microsoft MVP – Windows Server System Senior Systems Engineer/Database Administrator Fujitsu Asia Pte Ltd
Building Public Facing Websites with SharePoint 2010 Prepared for ILTA’s SharePoint for Legal Symposium June 16 th, 2010 George Durzi Principal Consultant.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July 2012.
Module 2 Creating a SharePoint 2010 Intranet. Start the Virtual Machines 1. Start 10174A-CONTOSO-DC-B. 2. After CONTOSO-DC has completed startup, start.
SharePoint 2013 Performance Boost the Performance of SharePoint Today! SharePoint 2013 Performance Boost the Performance of SharePoint Today! Brian Culver.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
OM. Brad Gall Senior Consultant
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Building Highly Scalable Websites Karol Jarkovsky Sr. Solution Architect
TechEd /22/2017 5:40 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
SharePoint Enterprise Aggregation Caching Feature Product Overview Nimrod Geva Product Group Manager, KWizCom
E-Commerce: Introduction to Web Development 1 Dr. Lawrence West, Management Dept., University of Central Florida Topics What is a Web.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Overview Scale out architecture Servers, services, and topology in Central Administration.
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.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
HOW SHAREPOINT WORKS By Gary Newman. Root Folder Virtual Directories SP Farm DNS Iterative Forward DNS query for A host record HTTP request HTML & JS.
Module 10 Administering and Configuring SharePoint Search.
New & Improved Events List Relationships and Joins Large List Support Field & List Item Validation.
OSP310. What is a SharePoint® Farm? A collection of one or more SharePoint Servers and SQL Servers® providing a set of basic SharePoint.
Using the Right Method to Collect Information IW233 Amanda Murphy.
Asia Pacific SharePoint Conference 2007 May 15th to 16th, 2007 Hilton Hotel Sydney.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July 2012.
Intro to Datazen.
Microsoft ® Official Course Structuring and Publishing Websites for All Users Microsoft SharePoint 2013 SharePoint Practice.
Branding and Customizing My Sites with Microsoft SharePoint Server 2010 John Ross & Randy Drisgill MVPs Rackspace Hosting OSP337.
Web Browsing *TAKE NOTES*. Millions of people browse the Web every day for research, shopping, job duties and entertainment. Installing a web browser.
USING SHAREPOINT TO CREATE YOUR PUBLIC WEBSITE JUNE 13, 2:45 PRESENTED BY: MARK GEROW & CHARLES FARAMARZI-RAD, FENWICK & WEST LLP MICHAEL P. KOLB,
Windows SharePoint Services Installation and Configuration.
(re)-Architecting cloud applications on the windows Azure platform CLAEYS Kurt Technology Solution Professional Microsoft EMEA.
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
MICROSOFT AJAX CDN (CONTENT DELIVERY NETWORK) Make Your ASP.NET site faster to retrieve.
Start-SPPowerShell – Introduction to PowerShell for SharePoint Admins and Developers Paul BAker.
SharePoint 2010 Performance and Capacity Planning Best Practices
Power BI Security Best Practices
Excel Services Deployment and Administration
Test Upgrade Name Title Company 9/18/2018 Microsoft SharePoint
SharePoint Saturday Omaha April 2016
Moodle Scalability What is Scalability?
2/27/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Jerald Overstreet, GISP Server Portal SQL Manager Admin
Microsoft Dynamics.
Presentation transcript:

Best Practices for Building Your Website for Scale with Microsoft SharePoint 2010 Josh Stickler Program Manager Microsoft Corporation OSP333

Best Practices for Capacity Management Capacity Planning Architect for Scale Pilot & Test Deploy Monitor & Validate

The case for caching # of Front-end Web Servers

Front-end web server(s) x n CPU Memory Disk I/O Disk space Application server(s) x n Disk I/O Memory CPU Database servers Database locks Disk I/O CPU Memory Disk space

Front-end web server(s) x n CPU Memory Disk I/O Disk space Application server(s) x n Disk I/O Memory CPU Database servers Database locks Disk I/O CPU Memory Disk space

Key Scale Tools: The Caches Output cache Compiled pages Object cache SPQuery result sets BLOB Cache Static files Web server memory Web server disk

Tip: Making sure the output cache is working…

What maxing out web server CPU looks like

to be fresh …or fast?

ASP.Net Post-Cache Substitution Sometimes you want completely “dynamic” content elements on an otherwise cached page.

ASP.Net Post-Cache Substitution You can achieve exactly this behavior, by writing a custom control that inherits from the System.Web.UI.WebControls.Substitution class. The rest of the page will be output-cached, but this control will be called to render on every request. Key consideration: Your control will be run on EVERY request… plan carefully.

SharePoint Object Cache What is the Object Cache? An in-memory cache of results to “Cross-List Queries” against your SharePoint site. Used to cache the results of queries that can span lists and sites within a Site Collection. But also good for caching results of queries within a single list. You’re probably already using it! (And it’s “always on”)

Configuring the Object Cache (Cont’d) Key Configuration Decisions Parameter NameDecisionGeneral Principle Object Cache SizeHow big do you want the Object Cache to be? Bigger is better (make sure you have enough RAM) Cache ChangesDo I want a purely time-based cache, or should every request check to see if cache is still valid? Checking for changes == more work per cached request Results MultiplierShould we cache more results than the user asked for? Only useful in scenarios where different users have different permissions…

Configuring the Object Cache (Cont’d) Configure the two “super” accounts used by the Object Cache via PowerShell: $wa = Get-SPWebApplication -Identity " " $wa.Properties["portalsuperuseraccount"] = " " $wa.Properties["portalsuperreaderaccount"] = " " $wa.Update() Account NamePermissions it should have SuperUserFull Control User Policy for the Web Application SuperReaderFull Read User Policy for the Web Application

What happens when you don’t use the Object Cache…

What went wrong? The hero control (which was implemented as a Sandboxed Solution) was using the non-cached SharePoint API, instead of the cached API. The site was launched, and as soon as it got real load, the Sandboxed Solution throttling system (correctly) stopped executing the control. Good Bad

Using the Object Cache from client-side code To build a client-side solution (Silverlight/AJAX/Flash/etc.) that queries SharePoint data: 1. Write a web service that wraps the Object Cache and executes cache queries 2. Make sure your solution calls your web service. Do NOT use the SharePoint client object model… it is un-cached.

SharePoint Disk-based BLOB cache What is it? A cache that stores files on the web-front end’s disk drive. Why should you use it? 1. Less rendering work for SharePoint 2. Fewer bytes-over-the-wire for users visiting your site 3. Support for HTTP range requests for media files

Configuring the BLOB cache Edit the following line in web.config: <BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="86400" enabled=“true"/> Write to a separate drive (GB) more is better (ms) more is better

A quick note about CDNs The appeal of CDNs Less load on your server per-user Browsers will load more files in parallel (2 connection per-server limit) Geo-distribution For content (e.g. BLOBs) Resources are effectively “external” URLs and you trade-off CMS goodness For “system” files Easy win: If you’re using jQuery or Modernizr, load them from the ASP.Net AJAX CDNjQuery Modernizrthe ASP.Net AJAX CDN

IIS Compression We STRONGLY recommend enabling static compression.

Content Deployment – Recap of Authoring Models

Content DB EMM Term Store Content Deployment SSP Proxy SSP Proxy Content DB Crawl Search Index Crawl Search Index

Content Deployment – Value Proposition Content Deployment is great for customers who: 1. Have a business/regulatory/legal requirement that no user can have contributor permissions on their production site. 2. Will be reviewing/staging ALL content before it goes live. Content Deployment adds LATENCY between when Content is authored/approved & when it goes live. Latency is proportional to the volume of changes since last deployment. And if you have multiple targets, things will be temporarily out of sync.

Content Deployment Best Practice #1: SQL Server Enterprise Edition & Snapshots Content Deployment + SQL Server Enterprise = No export failures due to on-going authoring activity.

Content Deployment Best Practice #1: SQL 2008 Enterprise Edition & Snapshots (Cont’d) Central Administration  Manage Content Deployment Paths and Jobs 

Content Deployment Best Practice #2: Custom Solutions & Content Deployment Custom Solutions MUST be “aware” of Content Deployment Many custom solutions add/modify Content DB objects (and fail if they can’t add/modify the objects). The pattern we see in many custom solutions: 1. Admin activates solution on SOURCE of Content Deployment 1. Objects are added to the Content DB 2. Content Deployment will then do the following on the TARGET: 1. Deploy the content objects to the target Content DB 2. Automatically activate the custom solution (FAIL)

Custom Solutions & Content Deployment How to write Content Deployment-friendly code: using Microsoft.SharePoint.Deployment.SPImportContext; if (SPImportContext.Current.IsRunning) { // You’re running during Content Deployment import, so // Don’t try to re-create items that were // already created on source site collection. } else { // Add/modify Content DB objects }

Content Deployment and Caching Cache profiles and settings are deployed, too You override cache profiles in web.config <OutputCacheProfiles useCacheProfileOverrides=“true" varyByHeader="" varyByParam="*" varyByCustom="" varyByRights="true" cacheForEditRights=“true" />

Variations – Best Practices At Scale 1. Avoid “Multilingual Afterthought Syndrome” If you think you may need Variations in the future, set up Variations early on. If you do this later, you’ll have to copy a LOT of content from the root web to your source label. 2. Consider On-Demand Page Propagation: It can save a LOT of unnecessary copy operations.

Variations – On-Demand Page Propagation Automatic Manual On-demand

Authoring SPSite Production SPSite Content Deployment

On-Demand Page Propagation: PowerShell Enable On-Demand Page Propagation: [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") $site = new-object Microsoft.SharePoint.SPSite(" $folder = $site.RootWeb.Lists["Relationships List"].RootFolder $folder.Properties.Add("DisableAutomaticPropagation", "True") $folder.Update();

Call to Action: Don’t let this be you…

OSP335 - Exploring the Power of Page Layouts in SharePoint 2010 WCM Sites OSP52-HOL - Branding a Microsoft SharePoint 2010 Site from an Existing Web Design OSP04-TLC - Microsoft SharePoint 2010 Demo Station

The Business Collaboration Platform for the Enterprise & the Internet The capabilities of SharePoint 2010 provide a powerful business collaboration platform

Connect. Share. Discuss. Learning Microsoft Certification & Training Resources TechNet Resources for IT Professionals Resources for Developers

Complete an evaluation on CommNet and enter to win!