Best Practices Slide Deck

Download Report

Transcript Best Practices Slide Deck

Go Live!

Launching your MOSS Publishing site

DEV435 Spencer Harbar

About the speaker…

 Spencer Harbar, MVP, MCSD.NET, MCAD, MCSE, APM  www.harbar.net

   Enterprise Architect working with some of Microsoft’s largest customers deploying Office SharePoint Server 2007.

15 years in Enterprise IT ISPA Board Member

Agenda

 ActiveX control dialog  Page payload  Custom CAS policies  Configuring & tuning caching  Application page lockdown  Server topology & roles  IIS HTTP compression  Web Application Configuration

Name.dll ActiveX control

 SharePoint utilizes the Name ActiveX control   Delivers presence functionality Enabled by default on all OOTB Sites  Remove on Internet facing sites  override the ProcessDefaultOnLoad() JavaScript function  MSKB # 931509

Minimizing Page Payload

 Page payload   combined total size of all files required for a page request Includes all HTML markup, images, JavaScript, CSS, etc…  SharePoint heavy page payloads primarily due to table-based design & JavaScript  Best Practices:     Avoid OOTB Publishing Site and Master Pages Implement CSS-based design (aim for accessible sites) which can dramatically reduce the markup Tune IIS HTTP compression (more later…) Lazy-load core.js - See MSKB # 933823 – Or suppress it all together!

Publishing Portal Page Payload

k; Other scripts & CSS (59k); 29,4; … k; (91k); 44,6; … core.js (54k) k; core.js (54k); 26; 26% Other scripts & CSS (59k)

EXAMINING THE PUBLISHING PORTAL PAGE PAYLOAD & ACTIVEX

CAS Policies for Custom Code

 SharePoint sites default to WSS_Minimal  When creating custom components, developers are presented with two options:   Increase trust of Web app (WSS_Medium / Full) Increase trust of specific components w/ CAS policy  Increasing the trust of the Web app is easier, BUT custom CAS policy for a specific component is much more secure   ITP343 & 344 (This afternoon) DEV369 (Wednesday, 12:30pm)

The “Lockdown Feature”

 By default, all users in a SharePoint site can access the SharePoint-y pages  http://www.adventure-works.com/pages/forms/allitems.aspx

  Not desirable in Publishing sites Controlled by the “View Application Pages” right granted by “Limited Access”  SPBasePermissions.ViewFormPages

 Feature

ViewFormPagesLockdown

removes this right from Limited Access  Automatically activated by Publishing Portal template  Note: need to reactivate when changing the anonymous settings on a site collection

Page Output Cache

 Fastest type of caching  After ASP.NET 2.0 page lifecycle generates the HTML markup it is saved in RAM  Future requests bypass the ASP.NET 2.0 page lifecycle and instead uses cached HTML  Publishing sites provide Web interface to create cache “profiles”  Profiles assigned to individual sites 

Note: not enabled by default

Disk-Based Cache

 Commonly requested static files (images, CSS, JS, etc) stored in libraries in the site are pulled from the content database on each request  Disk-based cache stores these files on the WFE server’s disk to eliminate future round trips  Can optionally configure the max-age HTTP header causing user’s browsers to not request the files for a specified duration  Configured via the Web App’s web.config

Server Topology & Roles

 Separate authoring & production environments  Use Content Deployment  Environment can then be optimized for:   read/write (authoring) read only (production)  Disable/Stop unused services  Excel Calculation, Incoming Email, WSS Search etc

Static & Dynamic Compression

 Used to minimize the page payload  When SharePoint installed, IIS is configured to compress static & dynamic files   Static: HTM, HTML, TXT Dynamic: ASP, EXE  Example: core.js is 257 KB on disk, but IIS compresses to 54 KB before sent to client  IIS HTTP compression level is configurable 

Requires lots of fine tuning and testing

  Higher compression = higher CPU use & smaller files Lower compression = lower CPU use & larger files 

Tip: increase as high as the CPU can handle

IIS v6 vs. IIS v7 Compression

Default Static Comp.

Default Dynamic Comp.

Compress by File Type Compress by MIME Type Compress content before adding to page output cache

IIS 6

10 0 YES NO

IIS 7

7 0 NO YES NO Configurable  In IIS 7, compression (static & dynamic) is on / off & is enabled / disabled based on CPU utilization  In IIS 7, markup can be compressed before inserting into page output cache  Not enabled by default

EXAMINING CACHING, IIS HTTP COMPRESSION & RESULTS

Web Application Configuration

 For Internet-facing sites, it is recommended to disable the following:  User Presence Information – Central Admin » App Mgmt » Web App General Settings  Blog API – Central Admin » App Mgmt » Web App General Settings  Incoming Email – Central Admin » Operations » Incoming E-Mail Settings  Disk-Based Caching  Enable disk-based caching and set the max-age attribute for local user browser caching

Post conference DVD with all slide decks Sponsored by

Thank you for attending!