Вы находитесь на странице: 1из 44

Joel Oleson Contributions:

SharePoint Product Architect Mike Watson


Quest Software Aptimize
http://www.sharepointjoel.com Fpweb
Agenda
Measuring Performance
10 Steps for Optimizing Performance
Front End Backend
Caching, Caching, Caching Dedicated Disks
Compression Application settings
Memory Index Optimization
App Pools SharePoint Configuration
Offloading Auth & SSL
Page Optimization
Webpart Optimization
End to End
Q&A
Fast performance =
Happy Users
better user experience
more traffic
more revenue
Understanding Performance

Server Network Client

Server Tuning Network Infra Upgrades Browser Render time

Data Centers NIC Upgrades Page Optimization

Content Delivery WAN Solutions Hardware, Driver and


Networks overcoming latency OS Upgrades

Offloading Compression Caching


Differencing
Page Performance Methodology
Methodology
• Page Goal: 5 seconds or less
• Measure
• Improve
• Measure
What can we change?
• Hardware
• Platform
• Application
• Network
Free Tools for Measuring Performance
www.Fiddler2.com
Ping (for latency)
www.WebPageTest.org
www.Aptimize.com
Perfmon
Caching, Caching, Caching
Client Cache
Page Far Future Expires
Server Cache
Reduce SQL Round Trips
Output Cache
Publishing Site Collection
Page
Webparts
Never Cache a Search Results
not fully anonymous!
Disk Based Caching
Blob Cache
Atom Feeds & RSS = 5 minutes by default
Gzip Compression
Reduce first view load time 30%-40%
Reduces size:
HTML
JavaScript
StyleSheets
No effect on images: (JPEG, PNG, GIF)
SharePoint is configured for Collab workload
out of the box… Lots of Reads/Writes
Check for HTTP request header

Accept-Encoding: gzip, deflate


Memory
Out of Memory
Minimize App Pools
Dedicate App pool to customizations and
consolidate all else
SQL timeouts
Warm up
Users Complain about 1 minute render times
Intermittent performance issues
SpDisposeCheck
Check for memory leaks, unclosed – Very common!
Webparts
What to watch out for…
Watch for closed webparts – very comon
Force webpart maintenance page or Designer to delete
closed webparts
Poor performing webparts
Dynamic Navigation – list based or cross site with no caching
Cross site rollups
Content Query Webpart
Why doesn’t SharePoint ship with cross site collection
rollups and what’s new webparts??? Performance!!!

Msdn: Smart Core.js


Managing 2010 Perf
Hosted by FPWeb
Identify Poorly Performing Code &
Content
Look for memory leaks
recycle often and/or fix
Avoid App pool memory limits or processor limits
Look for processor intensive code
Render customizations via load tests
Identify Software boundaries
Large & Wide lists
Deep Large site collections with lots of webs
Large DBs
TechNet: Plan for software boundaries
Health Rules - Definitions Health Rules Runs
on a Timer Job

Create your own!

Repair
Auto-
magically!
Performance Optimizations
Cleaner Pages and XHTML Compliance
Core.js size reduced 12%
List retrieval optimized
Content DB optimized for scale
SQL Blocking reduced with list throttling
Performance Point incorporated into SharePoint
Server 2010
Distributed Indexing - Each crawl database can
have many crawlers associated with it
Performance Controls
HTTP Throttling - Every
five seconds, a job runs
that checks server
resources Server CPU,
Memory, Request in
Queue, and Request Wait
After 3 failed checks,
server is throttled until a
successful check.
List Controls – List is
automatically throttled to
max 5000 items
Health Report – Slowest Pages

Extensibility for
reporting and
possibilities are
limitless
Performance Dev Dashboard

Selected Scope
general info

SQL queries
Info

SPMonitoredScopes and WCF Calls


their associated cost

web part
info

Off – default, On, and Ondemand – best practice for intranets!


Top Performance Killers
1. Indexing/Crawling
2. Backup (SQL & Tape)
3. Profile Import
4. Users - Inefficient views (Throttling in 2010 helps)
5. Timer Jobs – i.e. User Sync for large #s of Users
6. Poor Storage Configuration
7. STSADM Backup/Restore (Replace with third party or
2010 unattached recovery)
8. Large List Operations Delete/Update
9. Network Saturation/Congestion, i.e. Streaming Video
10. Misconfigured Network
Why is SQL that important?
SQL Health = SharePoint Health!
Sub-optimal SQL perf
will radiate to other
components in the
farm Slow Slow
Slow response from SQL
Server will result in App SQL
queued App requests
As the app slows down,
so does SQL
Database Disk I/O Demand
Most Demand Medium Demand Low Demand

Search Config *Content..

Temp +SSP Model

Tlogs Master

New Logging
in Service
2010 App
Usage

* Except during backup and Indexing + Except during Profile Import


Scaling SQL - Up
Design is Paramount!
Consider the following:
Overall SQL Throughput (transactions/sec)
Disk throughput (IOPS)
Network throughput (MB/sec)
Disk backup throughput (MB/sec)
Network based backup throughput (MB/sec)
Length of maintenance windows (hours -> minutes)
New SharePoint 2010 Databases
Workload based optimization
Config Search_Service_Application WSS_Content_GUID
Admin_Content Crawlstore WSS_Content_GUID1…
Application Registry Service SearchDB WSS_Content_GUID2…
StateService PropertyStore
Web Analytics Web Service WSS_Search

Content
Farm

WSS_Usage Services SocialDB


Reporting_DB ProfileDB (was SSP db)
Staging DB SyncDB
BDC_Service_DB
Word Conversion Service
Application
Performance_Point
ManagedMetadata
Secure_Store_Service
Understanding Website Speed
Waterfall Diagram
Breaks down page load
Shows everything to load
the page
Server/Client/first render

Create diagram using


WebPageTest.org
Fiddler
Vendors for Speeding Up SharePoint
Software Based Solutions
Page & Performance Optimization –
Dynamic/Automated Best Practices - Aptimize WAX
Dashboard Monitoring and Insight – Quest Foglight,
System Center
Hardware Based Solutions
WAN Accelerators – hardware devices used to
compress, difference, and offload – Cisco, Citrix,
Certeon
Reverse Proxy Compression, SSL Offload and
Caching – F5, Microsoft ISA & IAG
Guideline What you can do to optimize your pages…
Minimize HTTP Requests Merges JS, CSS files into fewer files. Merges images into sprites
Add an Expires or a Automatically adds far-future-expires headers to resources and
Cache-Control Header uses auto URL versioning to ensure cached resources are kept
up-to-date
Gzip Components Components are Gzipped and cached on the server to reduce
CPU load
Put Stylesheets at the Top Stlyesheets are moved to the top of the page
Put Scripts at the Bottom Scripts can be moved to the bottom (or anywhere) on the page
Reduce DNS Lookups External resources can be cached and served from the local
server
Minify JavaScript and CSS JS and CSS are minified
Remove Duplicate Scripts Duplicate JS files, stylesheets and images are removed
Configure ETags ETags are stripped from the resources
Optimize Images Images can be resampled, and GIFs converted to PNGs
Optimize CSS Sprites CSS Sprites are created and organized horizontally
Make favicon.ico Small Favicon is configured for caching, and inserted if it is missing,
and Cacheable removing a 404 condition.
Sharepoint2010.microsoft.com
Challenge
Improve performance for
microsoft.com site
High traffic, no downtime

Applied Methodology
Used 10 techniques
http://www.aptimize.com/customers "The improvement in page
loading time is tremendous."

Tony Tai, Product Manager,


Results Microsoft Corporation
> 50% reduction in load time
SharePoint 2010 Acceleration
Hosted by FPWeb
Website Accelerator
Automates best practices for browser load times
Aptimize Blog
http://www.aptimize.com/blog
Twitter
http://twitter.com/aptimize
Spoint.me (SharePoint Social Network)
http://spoint.me/groups/sharepoint-performance/

Contact: 800-935-8414
USA Contact: mike.iem@aptimize.com
Outside USA: aaron.bellingham@aptimize.com
Summary
Memory, Disk and Network are frequent performance
bottlenecks
SQL is extremely important to SharePoint health and
Performance
Think IOPS when designing disk arrays
Separate work loads: temp, log, search, content.
SQL scales up and out. Don’t push the limits upward, but keep
manageability and costs in mind when scaling out.
SharePoint 2010 provides proactive management
Check the HTML requests and how they affect performance with
www.fiddler2.com or www.webpagetest.org
Trial www.aptimize.com and improve your YSLOW score!
Resources
WebPageTest http://www.webpagetest.org
Fiddler http://www.fiddler2.com
http://www.microsoft.com/Downloads/details.
Visual Round-Trip Analyzer aspx?FamilyID=119f3477-dced-41e3-a0e7-
d8b5cae893a3
http://blogs.msdn.com/sharepoint/archive/200
Microsoft case study 9/09/28/how-we-did-it-speeding-up-
Sharepoint.microsoft.com sharepoint-microsoft-com.aspx
http://www.iab.net/media/file/IAB_Ad_Load_P
IAB guidelines erfomance_BP_FINAL.pdf
Hosted SharePoint 2010

Over 10 years of SharePoint Hosting experience.


1st company in the World to host SharePoint back in 1999.
Over 1,000,000 SharePoint users in 80 countries.
Complete Server Control (unrestricted RDP access).
Secure VPN & Active Directory Integrations.
World class hosting network – 3 tier redundant ISP backbone.
No up-front costs – one predictable monthly price.
We are every bit SharePoint. We do one thing – very, very well.
Technology Responsibilities
Multiple Technology Responsibilities Toughest Challenges

Exchange
1. User Provisioning/de-provisioning
14%
MIIS/ILM Active 2. Delegation of Admin Rights
16% Directory
44%
3. Compliance Reporting
DNS
26% 4. Disaster Recovery

Technology Used / Deployed

• 99% MS Server OS
• 90% Management Frameworks
• 55% - MOM
• 27% - HP OpenView
• 21% - IBM Tivoli
• 87% Exchange
• 74% SharePoint
Source: DEC 2008 Attendee Survey Whitepaper
38
Aptimize Website Accelerator
Aptimize software automates best practices for browser load times

Aptimize Doubles Website Speeds:


 Reduces HTTP requests by merging CSS and JS
files
 Reduces images with CSS sprite and CSS inlining
 Compresses content using minification + Gzip
 Increases caching using far-future-expires
 50% reduction in data traffic and load times
 40% increase in server throughput
 Used in over 300 websites and intranets

http://www.aptimize.com
Sample Waterfall Diagram
Server vs. Client time
Sample Waterfall Diagram
Server vs. Client time

Вам также может понравиться