Upload
armsultan
View
4.303
Download
2
Embed Size (px)
DESCRIPTION
Top 10 Secrets For Speeding Up Share Point Web Sites
Citation preview
Top 10 Secrets for Speeding up SharePoint WebSitesDerek Watson
CTO, Aptimize Software
Agenda
• You have 5 seconds• Performance Methodology• Top 10 secrets• How we did it: sharepoint.microsoft.com• Resources
You Have 5 Seconds
• You have five seconds to make an impact– Engage interest, or leave forever– google.com
• 100 ms delay = 20% less searches
– shopzilla.com: • 25% reduction in load time• 7%-12% revenue increase
– findsomeone.co.nz• 25% reduction in load time• 13% more clicks per visitor
– Google recently announced that speed will affect search rankings
Performance Methodology
Methodology• Goal: 5 seconds or less• Measure• Improve• Measure
What can we change?• Hardware• Platform• Application
Understanding Website Speed
• Waterfall Diagram– Breaks down page load– Shows everything to
load the page
• Create diagram using– WebPageTest– Fiddler
Sample Waterfall Diagram
• Server vs. Client time
Sample Waterfall Diagram
• Server vs. Client time
Sample Waterfall Diagram
• Server vs. Client time
Sample Waterfall Diagram
• Server vs. Client time
TOP 10 SECRETS
1: Hardware + Platform
• Buy good hardware– Dedicated SQL Server– Web Cluster– SCSI RAID– Lots of RAM– Multiple CPUs
• SQL Server– Sizing + tuning + indexing– Blob cache
Goal: Server processing < 1 second
Warning: No secrets here
2. Far-Future Expires
Reduce repeat-view load times 50%+ • Browser caches resources• Doesn’t check again until expiry• Reduces HTTP requests 90%• Challenge: Refreshing changes
Code: Add This HTTP Header to each resource
Expires: Wed, 13 Oct 2010 04:02:35 GMT
3. Gzip Compression
Reduce first view load time 30%-40%• Reduces size:
– HTML– JavaScript– StyleSheets
• No effect on images: (JPEG, PNG, GIF)
Check for HTTP request header
Accept-Encoding: gzip, deflate
4. Optimize JavaScript
Reduce load time 7%-10%• Merge JavaScript files into single file• Shrink JavaScript
– Remove comments– Remove whitespace
• Challenges:– Preserving functionality– Maintenance
5. Optimize StyleSheets
Reduce start render up to 75%• Merge StyleSheets into single file• Shrink CSS in StyleSheet• Place StyleSheet at beginning of HTML• Page render starts after all StyleSheets are
loaded• Challenges:
– Maintenance
6. Image Sprites
Reduce load 5%-15%• Merge images into
multi-image sprite• Change HTML to use
sprite• HTTP requests
reduced• Challenges:
– Maintaining the sprite– Changing HTML
7. Image Inlining
• Reduce load times 1%-10%• Base64 encode CSS background images• Embed encoded data into CSS file• Reduces HTTP requests• Challenges
– Maintainability– Browser compatibility
8. Reduce external references
• Reduce ads and syndication– Ads – YouTube videos– Links to external sites
• Each link opens a new connection– Each increases load time ≈ 0.5 seconds
• Solution:– Load at the end of page– Load in an iframe
9. Flash and Silverlight
• Don’t use– Flash on home page– Silverlight on home page
• Both add– Load time– Start render time
LOADING… 15%
10. Security
• Use Kerberos instead of NTLM– Reduces HTTP 401 network traffic – Requires extra configuration in AD
• Only use SSL where you really need it– Consumes CPU cycles– Content not cacheable
DEMO: MEASUREMENT TOOLS
Sharepoint.microsoft.com
Challenge• Improve performance for
microsoft.com site• High traffic, no downtime
Applied Methodology• Used 10 techniques
Results• > 50% reduction in load time
"The improvement in page loading time is tremendous."
Tony Tai, Product Manager, Microsoft Corporation
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
Next Steps
• Website speed is front and center now• Increase your service level• Steps:
– Measure your site now– Apply 10 steps– Measure your site– Get connected to blogs, Linked-in, Twitter
Get Connected
• Blog– http://www.aptimize.com/blog
• Twitter– http://twitter.com/aptimize
• LinkedIn (search Groups Aptimize)– http://www.linkedin.com/groups?gid=2294848
&trk=myg_ugrp_ovr
Resources
WebPageTest http://www.webpagetest.org
Fiddler http://www.fiddler2.com
Visual Round-Trip Analyzer
http://www.microsoft.com/Downloads/details.aspx?FamilyID=119f3477-dced-41e3-a0e7-d8b5cae893a3
Microsoft case study http://blogs.msdn.com/sharepoint/archive/2009/09/28/how-we-did-it-speeding-up-sharepoint-microsoft-com.aspxIAB guidelines http://www.iab.net/media/file/IAB_Ad_Load_Perfomance_BP_FINAL.pdf