SlideShare a Scribd company logo
1 of 25
Website
Performance
Understanding the Importance
and the
Road to Implementation
About Your Speaker
 Mitchel Sellers
 CEO @ IowaComputerGurus Inc.
 Microsoft MVP, DNN MVP, ASPInsider
 Experienced trainer & educator
 Contact Information:
 msellers@iowacomputergurus.com
 Twitter @mitchelsellers & @IowaCompGurus
 Office: 515-270-7063
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
Watch the webinar recording here:
http://www.postsharp.net/blog/post
/webinar-recording-website-
performance
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
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.
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
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
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
Watch the webinar recording here:
http://www.postsharp.net/blog/post
/webinar-recording-website-
performance
Example Loading: KCCI.com
Example CMS Driven Site
(Moderate speed)
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
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
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
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
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.
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
LoadTesting Tools
 LoadStorm.com
 Ensure that it matches what your browser does
 Validate that you know how they “simulate” users
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
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
Load Test Trends
Two examples: Before and After Optimization.
(Before is 100 users, after is 75,000 users, same
hardware)
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
Watch the webinar recording here:
http://www.postsharp.net/blog/post
/webinar-recording-website-
performance
Questions?

More Related Content

What's hot

Information on Various HTTP Error Codes
Information on Various HTTP Error CodesInformation on Various HTTP Error Codes
Information on Various HTTP Error CodesHTS Hosting
 
Implementing a Responsive Image Strategy
Implementing a Responsive Image StrategyImplementing a Responsive Image Strategy
Implementing a Responsive Image StrategyChris Love
 
How I learned to stop worrying and love UX metrics
How I learned to stop worrying and love UX metricsHow I learned to stop worrying and love UX metrics
How I learned to stop worrying and love UX metricsTammy Everts
 
Core web vitals is the thing you should focus on if you own a website in 2021
Core web vitals is the thing you should focus on if you own a website in 2021Core web vitals is the thing you should focus on if you own a website in 2021
Core web vitals is the thing you should focus on if you own a website in 2021World Web Technology Pvt Ltd
 
How to Speed up your Website
How to Speed up your WebsiteHow to Speed up your Website
How to Speed up your WebsiteHTS Hosting
 
Web maintenance and management using cms
Web maintenance and management using cmsWeb maintenance and management using cms
Web maintenance and management using cmslifelongusa
 
Core Web Vitals Optimization for any website, especially WordPress
Core Web Vitals Optimization for any website, especially WordPressCore Web Vitals Optimization for any website, especially WordPress
Core Web Vitals Optimization for any website, especially WordPressClementYo
 
How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...Tammy Everts
 
WordPress vs Other Content Management System
WordPress vs Other Content Management SystemWordPress vs Other Content Management System
WordPress vs Other Content Management SystemHTS Hosting
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPressJosh Highland Giese
 
WPblog's Ultimate WordPress Guide to Boost Your Website Performance
WPblog's Ultimate WordPress Guide to Boost Your Website Performance WPblog's Ultimate WordPress Guide to Boost Your Website Performance
WPblog's Ultimate WordPress Guide to Boost Your Website Performance Jessica Ervin
 
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Katie Sylor-Miller
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Thomas Audunhus
 
Walmart pagespeed-slide
Walmart pagespeed-slideWalmart pagespeed-slide
Walmart pagespeed-slideBitsytask
 
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]How slow load times hurt UX (and what you can do about it) [FluentConf 2016]
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]Tammy Everts
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance Dave Olsen
 
Web server and web-hosting
Web server and web-hostingWeb server and web-hosting
Web server and web-hostingAK DigiHub
 
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...Strangeloop
 

What's hot (20)

Information on Various HTTP Error Codes
Information on Various HTTP Error CodesInformation on Various HTTP Error Codes
Information on Various HTTP Error Codes
 
Implementing a Responsive Image Strategy
Implementing a Responsive Image StrategyImplementing a Responsive Image Strategy
Implementing a Responsive Image Strategy
 
How I learned to stop worrying and love UX metrics
How I learned to stop worrying and love UX metricsHow I learned to stop worrying and love UX metrics
How I learned to stop worrying and love UX metrics
 
Core web vitals is the thing you should focus on if you own a website in 2021
Core web vitals is the thing you should focus on if you own a website in 2021Core web vitals is the thing you should focus on if you own a website in 2021
Core web vitals is the thing you should focus on if you own a website in 2021
 
How to Speed up your Website
How to Speed up your WebsiteHow to Speed up your Website
How to Speed up your Website
 
Web maintenance and management using cms
Web maintenance and management using cmsWeb maintenance and management using cms
Web maintenance and management using cms
 
Speed
SpeedSpeed
Speed
 
Core Web Vitals Optimization for any website, especially WordPress
Core Web Vitals Optimization for any website, especially WordPressCore Web Vitals Optimization for any website, especially WordPress
Core Web Vitals Optimization for any website, especially WordPress
 
How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...
 
WordPress vs Other Content Management System
WordPress vs Other Content Management SystemWordPress vs Other Content Management System
WordPress vs Other Content Management System
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPress
 
WPblog's Ultimate WordPress Guide to Boost Your Website Performance
WPblog's Ultimate WordPress Guide to Boost Your Website Performance WPblog's Ultimate WordPress Guide to Boost Your Website Performance
WPblog's Ultimate WordPress Guide to Boost Your Website Performance
 
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...
 
Walmart pagespeed-slide
Walmart pagespeed-slideWalmart pagespeed-slide
Walmart pagespeed-slide
 
Magento Optimization Whitepaper
Magento Optimization WhitepaperMagento Optimization Whitepaper
Magento Optimization Whitepaper
 
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]How slow load times hurt UX (and what you can do about it) [FluentConf 2016]
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
 
Web server and web-hosting
Web server and web-hostingWeb server and web-hosting
Web server and web-hosting
 
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
 

Similar to Applying a Methodical Approach to Website Performance

Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introMykola Kovsh
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Dakiry
 
Magical Performance tuning with Gomez
Magical Performance tuning with GomezMagical Performance tuning with Gomez
Magical Performance tuning with Gomezmcsaha
 
Are You Ready For More Visitors Cognizant Gomez Jan20
Are You Ready For More Visitors   Cognizant  Gomez Jan20Are You Ready For More Visitors   Cognizant  Gomez Jan20
Are You Ready For More Visitors Cognizant Gomez Jan20Compuware APM
 
[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance Testing[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance TestingMaharshi Shah
 
Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Munirathnam Naidu
 
A Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load TestingA Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load TestingBirgit Pauli-Haack
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...John McCaffrey
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuningJohn McCaffrey
 
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityStreamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityBlueFish
 
Improving frontend performance
Improving frontend performanceImproving frontend performance
Improving frontend performanceSagar Desarda
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellenceveehikle
 
What You Don't Know About 3rd Party Scripts Can Hurt You!
What You Don't Know About 3rd Party Scripts Can Hurt You!What You Don't Know About 3rd Party Scripts Can Hurt You!
What You Don't Know About 3rd Party Scripts Can Hurt You!Jennifer Finney
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overviewsharadkjain
 
Show Me the Money: Connecting Performance Engineering to Real Business Results
Show Me the Money: Connecting Performance Engineering to Real Business ResultsShow Me the Money: Connecting Performance Engineering to Real Business Results
Show Me the Money: Connecting Performance Engineering to Real Business ResultsCorrelsense
 
load speed problems of web resources on the client side classification and ...
 load speed problems of web resources on the client side  classification and ... load speed problems of web resources on the client side  classification and ...
load speed problems of web resources on the client side classification and ...INFOGAIN PUBLICATION
 
Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Ben Robb
 

Similar to Applying a Methodical Approach to Website Performance (20)

Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 
Magical Performance tuning with Gomez
Magical Performance tuning with GomezMagical Performance tuning with Gomez
Magical Performance tuning with Gomez
 
Are You Ready For More Visitors Cognizant Gomez Jan20
Are You Ready For More Visitors   Cognizant  Gomez Jan20Are You Ready For More Visitors   Cognizant  Gomez Jan20
Are You Ready For More Visitors Cognizant Gomez Jan20
 
Neev Load Testing Services
Neev Load Testing ServicesNeev Load Testing Services
Neev Load Testing Services
 
[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance Testing[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance Testing
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]
 
A Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load TestingA Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load Testing
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
Gomez
GomezGomez
Gomez
 
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityStreamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
 
Improving frontend performance
Improving frontend performanceImproving frontend performance
Improving frontend performance
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
 
What You Don't Know About 3rd Party Scripts Can Hurt You!
What You Don't Know About 3rd Party Scripts Can Hurt You!What You Don't Know About 3rd Party Scripts Can Hurt You!
What You Don't Know About 3rd Party Scripts Can Hurt You!
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
Show Me the Money: Connecting Performance Engineering to Real Business Results
Show Me the Money: Connecting Performance Engineering to Real Business ResultsShow Me the Money: Connecting Performance Engineering to Real Business Results
Show Me the Money: Connecting Performance Engineering to Real Business Results
 
load speed problems of web resources on the client side classification and ...
 load speed problems of web resources on the client side  classification and ... load speed problems of web resources on the client side  classification and ...
load speed problems of web resources on the client side classification and ...
 
Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010Building high scale, highly available websites in SharePoint 2010
Building high scale, highly available websites in SharePoint 2010
 

More from PostSharp Technologies

Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
Advanced Defensive Coding Techniques (with Introduction to Design by Contract)Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
Advanced Defensive Coding Techniques (with Introduction to Design by Contract)PostSharp Technologies
 
Applying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain ModelsApplying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain ModelsPostSharp Technologies
 
Building Better Architecture with UX-Driven Design
Building Better Architecture with UX-Driven DesignBuilding Better Architecture with UX-Driven Design
Building Better Architecture with UX-Driven DesignPostSharp Technologies
 
Solving Localization Challenges with Design Pattern Automation
Solving Localization Challenges with Design Pattern AutomationSolving Localization Challenges with Design Pattern Automation
Solving Localization Challenges with Design Pattern AutomationPostSharp Technologies
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware ProgrammingPostSharp Technologies
 
Produce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingProduce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingPostSharp Technologies
 

More from PostSharp Technologies (10)

Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
Advanced Defensive Coding Techniques (with Introduction to Design by Contract)Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
Advanced Defensive Coding Techniques (with Introduction to Design by Contract)
 
Applying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain ModelsApplying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain Models
 
Performance is a Feature!
Performance is a Feature!Performance is a Feature!
Performance is a Feature!
 
Building Better Architecture with UX-Driven Design
Building Better Architecture with UX-Driven DesignBuilding Better Architecture with UX-Driven Design
Building Better Architecture with UX-Driven Design
 
Solving Localization Challenges with Design Pattern Automation
Solving Localization Challenges with Design Pattern AutomationSolving Localization Challenges with Design Pattern Automation
Solving Localization Challenges with Design Pattern Automation
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 
Multithreading Fundamentals
Multithreading FundamentalsMultithreading Fundamentals
Multithreading Fundamentals
 
Multithreading Design Patterns
Multithreading Design PatternsMultithreading Design Patterns
Multithreading Design Patterns
 
Design Pattern Automation
Design Pattern AutomationDesign Pattern Automation
Design Pattern Automation
 
Produce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingProduce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented Programming
 

Recently uploaded

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 

Recently uploaded (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 

Applying a Methodical Approach to Website Performance

  • 2. About Your Speaker  Mitchel Sellers  CEO @ IowaComputerGurus Inc.  Microsoft MVP, DNN MVP, ASPInsider  Experienced trainer & educator  Contact Information:  msellers@iowacomputergurus.com  Twitter @mitchelsellers & @IowaCompGurus  Office: 515-270-7063
  • 3. 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
  • 4. Watch the webinar recording here: http://www.postsharp.net/blog/post /webinar-recording-website- performance
  • 5. 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
  • 6. 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.
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. Watch the webinar recording here: http://www.postsharp.net/blog/post /webinar-recording-website- performance
  • 12. Example CMS Driven Site (Moderate speed)
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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.
  • 18. 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
  • 19. LoadTesting Tools  LoadStorm.com  Ensure that it matches what your browser does  Validate that you know how they “simulate” users
  • 20. 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
  • 21. 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
  • 22. Load Test Trends Two examples: Before and After Optimization. (Before is 100 users, after is 75,000 users, same hardware)
  • 23. 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
  • 24. Watch the webinar recording here: http://www.postsharp.net/blog/post /webinar-recording-website- performance