Applying a Methodical Approach to Website Performance
-
Upload
postsharp-technologies -
Category
Software
-
view
133 -
download
1
Transcript of Applying a Methodical Approach to Website Performance
![Page 1: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/1.jpg)
Website Performance
Understanding the Importance and the
Road to Implementation
![Page 2: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/2.jpg)
About Your Speaker
Mitchel Sellers CEO @ IowaComputerGurus Inc. Microsoft MVP, DNN MVP, ASPInsider Experienced trainer & educator Contact Information:
[email protected] Twitter @mitchelsellers & @IowaCompGurus Office: 515-270-7063
![Page 3: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/3.jpg)
Disclaimer/Disclosure
The tools discussed in this presentation are tools that we have found helpful in our years of performance tuning applications for customers
We are not being compensated for recommending/showing the tools we are discussing today
Without the use of tools, your work will be FAR more involved. Feel free to use your own tools, or favorites. We are always looking for recommendations as well
![Page 4: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/4.jpg)
Watch the webinar recording here:http://www.postsharp.net/blog/post/webinar-recording-website-performance
![Page 5: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/5.jpg)
Agenda
Why do we care about performance? What indicates successful performance? Understanding how webpages work Visualizing complete page load… Quick Fixes & Tools? Diagnosing Issues Applying load? Adopting Change
![Page 6: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/6.jpg)
Why Do We Care About Performance Search Engine Optimization
Google Ranking User Perception
Do I really want to work with this business? Devices
Differing network abilities Throttled vs Free, etc.
![Page 7: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/7.jpg)
Indicators of a Well Performing Site Not an exact science Can articulate a few key metrics
Anything more than 250 ms response triggers warnings from Google Page Speed Tools
User dissatisfaction starts around the 2-3 second mark
Various studies show > 25% increase in abandonment after 6 seconds
![Page 8: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/8.jpg)
Well Performing Site Indicators User experience focused, rather than true
“metrics” focused Think Expedia.com or Kayak.com
Minimal requests needed to render the website
![Page 9: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/9.jpg)
Understanding How Webpages Work Technical or not, understanding the order is key Logical processing
Request/Response for main HTML Request/Response for individual assets, after HTML
processed Request/Response for linked assets within other
assets Limitations
Current web browsers can only request 4-10 items per domain, at a time
![Page 10: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/10.jpg)
Watch the webinar recording here:
http://www.postsharp.net/blog/post/webinar-recording-website-performance
![Page 11: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/11.jpg)
Example Loading: KCCI.com
![Page 12: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/12.jpg)
Example CMS Driven Site (Moderate speed)
![Page 13: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/13.jpg)
Compare & Contrast
Metric KCCI Moderate CMS
High Perf CMS
Total Page Load
8.0 Seconds 2.3 Seconds 1.7 Seconds
Total Page Size
5.43 Mb 1.97 Mb 817 Kb
Total Requests
317 59 26
Google Page Speed
90/100 94/100 95/100
Yahoo! Y! Slow
E (58%) C (70%) A (92%)
Time to First Byte
112 ms 223 ms
![Page 14: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/14.jpg)
Quick Fixes & Tools
GTMetrix.com – Aggregates Google PageSpeed, Yslow and other metrics
Common trouble areas (User Generated Often) Non-compressed image files (Large page load) Non-combined JS Files (Large # of requests) Large Hidden HTML elements Lack of “Static File Caching”
Common areas often result in a 40-80% improvement
Internal Networks need to use other tools
![Page 15: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/15.jpg)
Additional Quick Fixes & Tools Content Delivery Network
Reduces load to your server Serves content more local to the user Can improve throughput by exponential factors
Application Caching Keep DB Queries that are costly
Image Sprites Combine multiple smaller images
![Page 16: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/16.jpg)
Understanding Content Delivery Networks Pull Type CDN
Pro: Requires less changes to your application and can often be implemented quickly
Con: Can often make very “unusual” things happen if just thrown in and left to run
Examples CloudFlare Incapsula
Traditional CDN Pro: Does not impact areas that you don’t expect Con: Requires manual intervention Examples
Amazon S3 / Windows Azure
![Page 17: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/17.jpg)
Diagnosing Issues
Regular monitoring of all application metrics Web & DB Server CPU Web & DB Server Memory Usage Web Request Throughput Web Transaction Times SQL Activity Google Analytics
NewRelic, CopperEgg, Application Insights, etc.
![Page 18: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/18.jpg)
Applying Load
Static Examples are great, but don’t take into consideration heavy load, or caching
Load application needs to meet key requirements Simulate real traffic Behave similar to actual users Be realistic for the expected loads
Hardware environments need to be similar Expected Behavior
Load should be handled in a stable manner. As requests go up, throughput should go up, bandwidth should go up
![Page 19: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/19.jpg)
LoadTesting Tools
LoadStorm.com Ensure that it matches what your browser does Validate that you know how they “simulate” users
![Page 20: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/20.jpg)
Metrics in Load Based Scenarios Possible targets or minimums
RPS (Requests Per Second) Concurrent users Average Server Response % failed request Queue length
Real goal is dependent on your environment
![Page 21: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/21.jpg)
BudgetChallenge Use Case Example BudgetChallenge.com was going to be featured on the Today
show, as well as other national outlets. Additionally formed a partnership with HR Block and needed to guarantee performance with up to 75,000 concurrent users.
Hardware Situation: 6 Virtual Web Servers (18 Gb Ram each) 1 SQL Server Cluster (64 Gb RAM and 32 cores)
Starting Performance: Initial load test resulted in substantial performance failure at
~600-700 concurrent users Ending Performance:
Successful Test with 73,259 concurrent users before network device failure
Total Time: 2 weeks
![Page 22: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/22.jpg)
Load Test Trends
Two examples: Before and After Optimization. (Before is 100 users, after is 75,000 users, same hardware)
![Page 23: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/23.jpg)
Adopting Change in Performance Proactive is Best
Start with a metric, and validate it ALL the way through development
Adjust as needs change Reactive is most common
Must strongly ensure that jumping to conclusions is not done. Very easy to skip a key metric
ONLY change 1 thing at a time and re-validate as you move on
![Page 24: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/24.jpg)
Watch the webinar recording here:
http://www.postsharp.net/blog/post/webinar-recording-website-performance
![Page 25: Applying a Methodical Approach to Website Performance](https://reader035.fdocuments.net/reader035/viewer/2022062905/58705d541a28aba2118b6ea9/html5/thumbnails/25.jpg)
Questions?