430 likes | 612 Views
Measuring and Understanding SharePoint Performance using Free Industry Standard Tools Americas Web Content Optimization Specialist. Mike Iem mike.iem@riverbed.com. In 2012 We Demand More…. 2. Dynamic Information. 1. Content Explosion. 3. Third Party Content. 5. Devices.
E N D
Measuring and Understanding SharePoint Performance using Free Industry Standard ToolsAmericas Web Content Optimization Specialist Mike Iem mike.iem@riverbed.com
In 2012 We Demand More… 2. Dynamic Information 1. Content Explosion 3. Third Party Content 5. Devices 4. Global Audience
Benefits of a Faster Web Experience • April 2010, Google announces Pagespeed affects search results ranking • Increase page views • Visitors in the top 10% of site speed viewed 50% more pages than visitors in the bottom ten percentile. [Source: AOL] • Improve conversion rates • 5.51% Increase in cart size. [source: Watching Websites] • Increase revenue • 5 seconds in website speed means 10% revenue increase [source: Shopzilla]100 milliseconds improvement increased Amazon revenue by 1% for [source: Amazon] • Improve productivity • People can simply do more, faster
Understanding Performance Server Network Client Server Tuning SQL Queries Offloading WAN Latency Topology/Distance Network Upgrades Browser Time Page Optimization # Roundtrips
Server • Server hardware • Memory, Processor, Disk IOs • Offload servers using ADC(Application Delivery Controller) • Compression, SSL • Good data center design • Scale out, Scale Up • SQL Server tuning • Sizing + tuning + indexing • Blob cache • http://social.technet.microsoft.com/wiki/contents/articles/7926.sharepoint-2010-tips-for-dealing-with-performance-issues.aspx • Tool: SharePoint Developer Dashboard
Demo SharePoint Developer Dashboard
Network Latency • Users coming in from global offices • Bandwidth upgrades don’t fix “chattiness” • WAN Optimization solutions solve the bandwidth and latency constraints • File downloads are accelerated (especially for SharePoint) • Question: What is your network Latency? • You can easily test it with Ping • Standards– Intranet • Domestic US: <30ms healthy >50ms is an issue • Standards - Internet • Domestic US: 30ms, International: 150ms
WAN Steelhead completes transaction locally Steelhead eliminates chattiness WAN Optimization Solution – Riverbed Steelhead Request Optimized WAN Transfer BRANCH OFFICE DATA CENTER The net effect is up to 20x faster file downloads
Clients and Browsers • Web content is constantly growing • Multiple devices at use in the enterprise (BYOC) • Smartphones, tablets have varying browser characteristics • Last mile issues with 3G/Wireless connections
Tools to measure Website Performance (all FREE) • Aptimizer Site Analyzer Tool • See what Stingray Aptimizer can do for your website • Sign up http://www.aptimize.com/how-to-buy/trial • Logon and go to downloads (the tool is at the bottom) • Testing Internet Sites from actual locations • www.webpagetest.org • Tool to see HTTP requests • www.fiddler2.com
Riverbed Site Analyzer Tool Report (Prediction or Actual) http://www.aptimize.com/how-to-buy/trial
Measure Your Webpage Performance • Google Page speed • https://developers.google.com/pagespeed/# • Page score should be > 90 out of 100 • Yahoo “Yslow” extension • http://developer.yahoo.com/performance/ • Webpagetest • https://webpagetest.org/ • Page grade should be “A” • Standard Page Load Times • Fortune 500 Internet load time average is 7 seconds domestic, 9.5 seconds international • Intranet load times < 4 seconds cold load, < 2 seconds repeat view
DEMONSTRATIONS www.webpagetest.org Riverbed Site Analyzer Tool Fiddler
Performance Rules For Developers
Top 10 best practices to improve Web Performance • Hardware + Platform • Far-future expires • Gzip compression • Optimize JavaScript • Optimize Stylesheets • Image Sprites • Image inlining • Reduce external references • Flash and Silverlight • Authentication
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 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% • Reduce 304 errors on repeat view • Challenge: • Refreshing changes Code: Add This HTTP Header to eachresource Expires:Wed, 18 April 2013 04:02:35 GMT
3. Gzip Compression Reduce first view load time 30%-40% • Reduces size: • HTML • JavaScript • StyleSheets • Challenge : • No effect on images: (JPEG, PNG, GIF) Check for HTTP request header Accept-Encoding: gzip, deflate
Compress Everything Load times reduced 30%. On the Web, Smaller is Better. Convert big PNG files to JPEGs
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 • Best practices • 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
All these Changes are DIY • Lot of resources for developers to do-it-yourself • Very resource intensive • Need to account for all types of device/browser combos HTML/CSS • Need additional testing to insure changes work for all users • Need to put equal emphasis on features and performance • These techniques don’t help with file downloads
ROI Savings using Web Content Optimization Techniques • Use the simple spreadsheet to calculate the ROI Hourly Employee Cost: Employee Loaded cost is usually 2x Salary for Knowledge workers At 2,000 working hours per year and 100K Salary, this number should be $100 per hour
ROI - Faster Websites Increase Returns • Internet and Intranet • Measure time saved • Measure data saved (Network costs) • Measure Productivity • Measure Revenue Increase
What Is Riverbed Stingray Aptimizer? • Software product for web servers • Speeds up webpages • First view 33% - 50% reduction • Repeat view 70% - 90% reduction • Dynamic solution, runs in the background • Available for • Microsoft SharePoint intranets / websites • Any Microsoft Window Server IIS websites (ASP.net) • Any Linux / Solaris website (available Summer 2012) • Complements Riverbed products • Steelhead • Stingray Traffic Manager • Very quick to deploy, no development changes, set it and forget it
How Stingray Aptimizer works BEFORE AFTER • 1. Install software: • Server Extension • SharePoint / Windows • Configuration in <1 hour • 3. Instant results: • Up to 90% faster load times • 50% less data traffic • Works with WAN opt, ADC, CDN • 2. Aptimizer dynamically: • Accelerates content • Reduces data size • Reduces http round-trips • Adaptively adjusts layout
HTTP Waterfalls (First View - Cold Load) 34 Requests = 10 Seconds WAX = OFF http://www.webpagetest.org/result/120229_81_3D9DT/ WAX = ON http://www.webpagetest.org/result/120229_YN_3D9FG/ 67 Requests = 30 Seconds
HTTP Waterfalls (Repeat View – Warm Load) 1 Request = 2.9 Seconds WAX = OFF http://www.webpagetest.org/result/120229_81_3D9DT/ WAX = ON http://www.webpagetest.org/result/120229_YN_3D9FG/ 40 Requests = 17 Seconds
Next steps • Test your Website • Make changes to your website and retest Or • Install Aptimizer to test servers and measure • Test at user locations with ready tools.