accelerate sharepoint 2007 and 2010 websites and intranets mike iem - aptimize
TRANSCRIPT
Accelerate SharePoint 2007 and 2010 Websites and IntranetsMike Iem
Business Manager
Aptimize
Ed Robinson
CEO
Aptimize
Presented to you by Epok and Aptimize
About Epok
• Oscar Fuster – VP of Marketing• Leader in SharePoint Extranet Market• Headquartered in Bethesda, MD• Epok Edition for Microsoft SharePoint • Enterprise Customers include:
– Financial Services– Government/Military– Pharmaceutical– Health Care– Legal
About Aptimize
• Ed Robinson, CEO and Founder• Leader in IIS, SharePoint, and Linux
Performance• Headquartered in Wellington, New Zealand• SharePoint Accelerator• Customers include Google, Microsoft,
Northrop Grumman, Raytheon, Ingram Micro and many others
Agenda
• SharePoint Server Specific Performance• You have 7 seconds• Performance Methodology• Top 10 Tips for Website Speed• Quick Reference• Case Study: sharepoint.microsoft.com• Resources
Top SharePoint Server Perf Killers
• Indexing/Crawling• Backup (SQL & Tape)• Profile Import• Users - Inefficient views (Throttling in 2010 helps)• Timer Jobs – i.e. User Sync for large #s of Users• Poor Storage Configuration• STSADM Backup/Restore (Replace with third party or 2010
unattached recovery)• Large List Operations Delete/Update• Network Saturation/Congestion such as Streaming Video• Misconfigured Network• Joel Oleson SharePoint Server Performance Presentation at:
http://www.aptimize.com/blog/webinar-sharepoint-admins
You Have 7 Seconds
• You have seven seconds to make an impact– Engage interest, or leave forever– Slower sites loose customers– 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
• Fortune 500 Speeds http://www.aptimize.com/Upload/docs/fortune.pdf#zoom=75
Performance Methodology
Methodology• Goal: 7 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
How Fast Is Your Website?
• FREE tool: www.webpagetest.org• Waterfall diagram shows server/browser processing
20% Server processing
80% Browser processing
DEMO: MEASUREMENT TOOLSWebpage Test - www.Wepagetest.orgFiddler – www.fiddler2.comAptimize Site Analyzer Tool – email [email protected]
TOP 10 TIPS
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
TOP 3 RULES
Rule 1: Compress Everything
Deflate/Gzip Shrink Resample
HTML Yes
JavaScript Yes Yes
StyleSheets Yes Yes
XML Yes
JPEG images Yes Yes
PNG images Yes
GIF images Yes
Silverlight
Flash
Load times reduced 30%. On the Web, Smaller is Better.
Rule 2: Merge Files
JavaScript Images
StyleSheets StyleSheet Images
Merge Files - Results
Load times reduced 20%. On the Web, Less is More
Before After
50% reduction
Rule 3: Increase Caching
• Cache static resources on browser to speed up repeat views
Before After
Repeat view load time reduced from 4.5 to 1.9 seconds
Silverlight + Flash
1. Use JavaScript instead
2. Pay attention to size
3. Remove references
4. Compress images
5. Don’t embed videos
CASE STUDYSHAREPOINT.MICROSOFT.COM
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
SharePoint.Microsoft.com
Before After Reduction
Domestic load times 10.5 seconds 5.9 seconds 43%
International load times 13.3 seconds 6.1 seconds 54%
Size 1,758 KB 905 KB 49%
Start Render 3.9 seconds 1.9 seconds 51%
First View Repeat ViewAptimize Aptimize
35
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
36
WAX Feature SummaryJavaScript- Remove duplicate files- Minify and shrink- Gzip compress- Merge into fewer files- Reorder for faster loading
StyleSheets- Remove duplicate files- Minify and shrink - Gzip compress- Merge into fewer files- Reorder for faster loading
Images- Resample large JPGs- Merge into spritesets- Inline CSS background images
Caching- Server caching - ETag removal- Add far future expires- URL auto versioning- Automatic refresh of caches
Browser- Browser specific optimizations- Search engine aware- Increase YSlow/PageSpeed grades
Scalability- Single server or load balanced- Increases throughput 40%- Adds 2%-8% CPU load- “Do no harm” throttle
Next Steps
• Website speed is front and center now• Faster Websites mean more business• Steps:
– Measure your site now– Apply 10 steps– Measure your site– Get connected to blogs, Linked-in, Twitter
Aptimize Website Accelerator
• Test your speed now– www.webpagetest.org
• Site Analyzer Tool – email [email protected]
• Aptimize Blog– http://www.aptimize.com/blog
• Twitter– http://twitter.com/aptimize
• Spoint.me (SharePoint Social Network)– http://spoint.me/groups/sharepoint-performance/
• Mike Iem – 425-605-4148• USA Contact: [email protected] • Outside USA: [email protected]
• Presentation: www.slideshare.net/aptimize
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
Google http://Code.google.com/speed
QUESTION AND ANSWER
Contact Information:Oscar FusterEpok [email protected]
Mike [email protected]