5. 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
6. Page Performance Methodology
Methodology
• Page Goal: 5 seconds or less
• Measure
• Improve
• Measure
What can we change?
• Hardware
• Platform
• Application
• Network
9. 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
10. 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
11. 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!
12. 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
14. 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
15.
16. Health Rules - Definitions Health Rules Runs
on a Timer Job
Create your own!
Repair
Auto-
magically!
17. 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
18. 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
19. Health Report – Slowest Pages
Extensibility for
reporting and
possibilities are
limitless
20. 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!
21.
22. 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
23. 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
24. 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
25. 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)
26. 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
27.
28.
29. 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
30. 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
31. 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.
32. 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
34. 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
35. 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!
36. 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
37. 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.
38. 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
39.
40.
41. 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