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,
Branding
Branding
&
Content
(91k)
& Content
(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
IIS 6
IIS 7
Default Static Comp.
10
7
Default Dynamic Comp.
0
0
Compress by File Type
YES
NO
Compress by MIME Type
NO
YES
Compress content before adding to page output cache
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!