SlideShare a Scribd company logo
Speed = $$$

   Peter Gfader
Abstract
Why is Performance important?
    Applications in general
    Webapplicaitons
What can we devs do?
Tips: How to optimize
    Web applications
    Silverlight
    Backend
    …
Regression
    How to maintain performance over time
    How to get faster over time
Discussion: What tips do you have in your toolbox?
    Fill wiki
Speed = $$$
Speed = $$$
Speed = $$$
Speed = $$$
Speed = $$$
Speed = $$$
Speed matters?
#1 Trust
#2 Money
Speed = $$$
Speed = $$$
“For Amazon every 100
 ms increase in load times
 decreased sales with 1%”


http://glinden.blogspot.com/2006/11/marissa-mayer-at-web-20.html
Google
   “400 ms delay caused a
  0.59% decrease in search
     requests per user”


http://velocityconf.com/velocity2009/public/schedule/detail/8523
Speed matters!


    Lucky
    day
The web
HTML
• HyperText Markup Language
• Describes a web page
                      <html>
                        <head>
                          <title>Hello HTML</title>
                        </head>
                        <body>
                          <p>Hello World!</p>
                        </body>
                      </html>
HTTP
• Hypertext Transfer Protocol
• Request – Response

                   GET /index.html HTTP/1.1 Host:
                   www.example.com


                   HTTP/1.1 200 OK
                    Date: Mon, 23 May 2005 22:38:34 GMT
                    Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
                    Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
                    Content-Length: 438
                    Content-Type: text/html; charset=UTF-8
How a web page is shown

    Your                    Hosting
    Computer                Computer

                    The
               Internet
                 Internet

    Client                  Server
Request / Response


            Request
         www.zuehlke.com
                  The
               Internet
            Response
Client         HTML        Serve
                           r
XMLHttpRequest
    AJAX


            The
         Internet

Client              Serve
                    r
Silverlight / Flash



               The
            Internet

                       Serve
Client                 r
“Building a webapp is easy!

   You just gotta know HTML, CSS,
   JavaScript, C#, Razor, SQL, DDL,
               and Regex

            Oh, plus people skills”

https://twitter.com/#!/secretGeek/status/83297694449
287168
Can we be too
    fast?
Video player


Technical
Perceived Speed
Mean RT is about 160 ms: auditory stimulus
Mean RT is about 190 ms: visual stimulus



http://en.wikipedia.org/wiki/Reaction_time
What can we
           do?



http://www.flickr.com/photos/rockersdelight/6161622855/
You can't improve what
  you don’t measure
Measure
Perfmon
Perfmon Counters
Perfmon Customization
PageSpeed
YSlow
Speed = $$$
Speed = $$$
LoadStorm
Tip
Measure from day 1
Measure and establish a
      baseline
Speed = $$$
Improve
1/7   Minify / Uglify
2/7   Compress
3/7   Bundle / Combine
4/7   Image Sprites
5/7   Server side
Server side
6/7   Server side
      Caching
7/7   CDN
Silverlight?
Measure again
Developers like to change
        things
Developers need to
  change things
Before and After
Tools
Tools
• Firebug                         http://getfirebug.com/

• Yslow                           http://yslow.org/

• Pagespeed
      https://developers.google.com/speed/pagespeed/

• Google Analytics                http://www.google.com/analytics/



• Fiddler                         http://www.fiddler2.com/
• Wireshark                       http://www.wireshark.org/


• CPorts                          http://www.nirsoft.net/utils/cports.html

• Firebug for SL                  http://firstfloorsoftware.com/silverlightspy
Tools
• Jetbrains dotTrace
  http://www.jetbrains.com/profiler/index.html



• ANTS profiler
  http://www.red-
  gate.com/products/ants_performance_profiler/index.htm
Perfmon Counters
• General Windows Server
  http://adminfoo.net/2007/04/windows-perfmon-top-ten-counters.html

  http://technet.microsoft.com/en-us/library/cc768048.aspx



• SQL Server
  http://www.databasejournal.com/features/mssql/article.php/3932406/Top-10-SQL-
  Server-Counters-for-Monitoring-SQL-Server-Performance.htm
Tools
• Web Standards Update for VS2010
  http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83


• Cassette
  http://getcassette.net/


• Sprite and Image Optimization
  http://aspnet.codeplex.com/releases/view/65787


• Image Optimizer
  http://visualstudiogallery.msdn.microsoft.com/a56eddd3-d79b-48ac-8c8f-2db06ade77c3


• CSSCop
  http://visualstudiogallery.msdn.microsoft.com/a921b98e-9430-4be2-bf53-1169e12bdb50
References
• 8 Performance tips before going live
  http://blog.gfader.com/2011/07/website-check-list-part-2-aspnet-
  8.html

• Performance interview with LoadStorm + more Tools
  http://blog.gfader.com/2010/06/performance-interview-with-
  loadstorm.html
References
• DNR podcast on YSlow
  http://www.dotnetrocks.com/default.aspx?showNum=390

• Founder of YSlow (Yahoo)
  http://www.stevesouders.com/blog/
Q?
Yours?
Fill IKM?
Peter Gfader
blog.gfader.com



Thanks!


  Exhausted but happy!

More Related Content

PPTX
SQL Server - CLR integration
PDF
Continuous delivery of your legacy application
PDF
WordPress London Developer Operations For Beginners
PDF
Spring Boot
PPTX
What Visual Studio Code can do for Java Development
PDF
Automated testing with Cypress
PDF
Drupal 7 ci and testing
PPT
How to Build and Maintain Quality Drupal Sites with Automated Testing
SQL Server - CLR integration
Continuous delivery of your legacy application
WordPress London Developer Operations For Beginners
Spring Boot
What Visual Studio Code can do for Java Development
Automated testing with Cypress
Drupal 7 ci and testing
How to Build and Maintain Quality Drupal Sites with Automated Testing

What's hot (20)

PPTX
Moving From a Selenium Grid to the Cloud - A Real Life Story
PDF
Auditing Drupal Sites
PDF
Cypress testing
PPTX
Manage your environment with DSC
PDF
Selenium and Sauce Labs
PPTX
WP-CLI: WordCamp Nashville 2016
PPTX
Sauce Labs for Visual Studio Team Services & TFS
PDF
Selenium Tips & Tricks - StarWest 2015
PPTX
PPTX
WordPress automation and CI
PPT
Continuous Integration
KEY
Cloud tools
PPTX
Protractor overview
PDF
Managing Modules Without Going Crazy (NPW 2007)
PPTX
Nightwatch JS for End to End Tests
PPTX
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
PDF
Front end workflow with yeoman
PPTX
Selenium for Jobseekers
PPTX
ASP.NET & Unit Testing
PDF
Working in harmony
Moving From a Selenium Grid to the Cloud - A Real Life Story
Auditing Drupal Sites
Cypress testing
Manage your environment with DSC
Selenium and Sauce Labs
WP-CLI: WordCamp Nashville 2016
Sauce Labs for Visual Studio Team Services & TFS
Selenium Tips & Tricks - StarWest 2015
WordPress automation and CI
Continuous Integration
Cloud tools
Protractor overview
Managing Modules Without Going Crazy (NPW 2007)
Nightwatch JS for End to End Tests
Magento 2 Best Practice Workfow // David Lambauer // Meet Magento 2017 // Lei...
Front end workflow with yeoman
Selenium for Jobseekers
ASP.NET & Unit Testing
Working in harmony
Ad

Viewers also liked (15)

PPTX
Marketing plan android app
PPTX
Estimulación temprana
PPTX
Media double 2
PPTX
JongAchterhoek - Landelijk Congres Bevolkingsdaling 2015 - Ulft
PPTX
PDF
Tics na ead
PDF
2017 Avalon Deals
PDF
Design and simulation of high speed cmos
PPTX
Email Template Systems
PDF
Fashion lab productie
PPT
Purpura thrombotique immunologique associé au pembrolizumab: un nouvel effet ...
DOCX
Image encryption using aes key expansion
DOCX
Caracteristicas generales y particulares de una empresa
PPTX
BioPharming (Molecular Farming)
PDF
2010 09 21 AdminCamp News Tuesday
Marketing plan android app
Estimulación temprana
Media double 2
JongAchterhoek - Landelijk Congres Bevolkingsdaling 2015 - Ulft
Tics na ead
2017 Avalon Deals
Design and simulation of high speed cmos
Email Template Systems
Fashion lab productie
Purpura thrombotique immunologique associé au pembrolizumab: un nouvel effet ...
Image encryption using aes key expansion
Caracteristicas generales y particulares de una empresa
BioPharming (Molecular Farming)
2010 09 21 AdminCamp News Tuesday
Ad

Similar to Speed = $$$ (20)

PDF
CTU June 2011 - Things that Every ASP.NET Developer Should Know
PDF
Guide Hosting Dictionary
PDF
Go Faster, Webmasters
PDF
Go Faster, Webmaster
PPT
Make Drupal Run Fast - increase page load speed
PPTX
Intro to advanced web development
PDF
Tuning web performance
PDF
Tuning Web Performance
PDF
WEB I - 01 - Introduction to Web Development
PDF
Making the web faster
PDF
Web development using ASP.NET MVC
PDF
Optimizing Your Frontend Performance
PPTX
INTERNET PART1.pptx
PPT
PDF
Evolving Archetecture
KEY
Speed is Essential for a Great Web Experience
PPTX
Introducing asp
PPTX
Why your slow loading website is costing you sales and how to fix it
PPTX
Why your slow loading website is costing you sales and how to fix it
KEY
Modern Web Technologies — Jerusalem Web Professionals, January 2011
CTU June 2011 - Things that Every ASP.NET Developer Should Know
Guide Hosting Dictionary
Go Faster, Webmasters
Go Faster, Webmaster
Make Drupal Run Fast - increase page load speed
Intro to advanced web development
Tuning web performance
Tuning Web Performance
WEB I - 01 - Introduction to Web Development
Making the web faster
Web development using ASP.NET MVC
Optimizing Your Frontend Performance
INTERNET PART1.pptx
Evolving Archetecture
Speed is Essential for a Great Web Experience
Introducing asp
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
Modern Web Technologies — Jerusalem Web Professionals, January 2011

More from Peter Gfader (20)

PDF
Achieving Technical Excellence in Your Software Teams - from Devternity
PDF
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
PDF
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
PPTX
How to make more impact as an engineer
PDF
13 explosive things you should try as an agilist
PPTX
You cant be agile if your code sucks
PDF
Use Scrum and Continuous Delivery to innovate like crazy!
PDF
Innovation durch Scrum und Continuous Delivery
PPTX
Qcon london2012 recap
PPTX
Continuous Delivery with TFS msbuild msdeploy
PPTX
Silverlight vs HTML5 - Lessons learned from the real world...
PPTX
Clean Code Development
PPTX
Data Mining with SQL Server 2008
PPTX
SSAS - Other Cube Browsers
PPTX
Reports with SQL Server Reporting Services
PDF
OLAP – Creating Cubes with SQL Server Analysis Services
PPT
Business Intelligence with SQL Server
PPTX
SQL Server - Full text search
PPTX
Usability AJAX and other ASP.NET Features
PPTX
Work with data in ASP.NET
Achieving Technical Excellence in Your Software Teams - from Devternity
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
How to make more impact as an engineer
13 explosive things you should try as an agilist
You cant be agile if your code sucks
Use Scrum and Continuous Delivery to innovate like crazy!
Innovation durch Scrum und Continuous Delivery
Qcon london2012 recap
Continuous Delivery with TFS msbuild msdeploy
Silverlight vs HTML5 - Lessons learned from the real world...
Clean Code Development
Data Mining with SQL Server 2008
SSAS - Other Cube Browsers
Reports with SQL Server Reporting Services
OLAP – Creating Cubes with SQL Server Analysis Services
Business Intelligence with SQL Server
SQL Server - Full text search
Usability AJAX and other ASP.NET Features
Work with data in ASP.NET

Recently uploaded (20)

PDF
Psychology and Work Today 10th Edition by Duane Schultz Test Bank.pdf
PPTX
show1- motivational ispiring positive thinking
PPT
Lesson From Geese! Understanding Teamwork
DOCX
Paulo Tuynmam: Nine Timeless Anchors of Authentic Leadership
PPTX
THEORIES-PSYCH-3.pptx theory of Abraham Maslow
PPTX
Unlocking Success Through the Relentless Power of Grit
PDF
PLAYLISTS DEI MEGAMIX E DEEJAY PARADE DAL 1991 AL 2004 SU RADIO DEEJAY
PPTX
Hazards-of-Uncleanliness-Protecting-Your-Health.pptx
PDF
Lesson 4 Education for Better Work. Evaluate your training options.
PDF
Why is mindset more important than motivation.pdf
PPTX
UNIVERSAL HUMAN VALUES for NEP student .pptx
DOCX
Boost your energy levels and Shred Weight
PPTX
Commmunication in Todays world- Principles and Barriers
PDF
The Blogs_ Humanity Beyond All Differences _ Andy Blumenthal _ The Times of I...
PDF
technical writing on emotional quotient ppt
PPTX
Arabic Grammar with related Qurani ayat .pptx
PDF
Top 10 Visionary Entrepreneurs to Watch in 2025
PPTX
Emotional Intelligence- Importance and Applicability
PDF
Want to Fly Like an Eagle - Leave the Chickens Behind.pdf
PPTX
A portfolio Template for Interior Designer
Psychology and Work Today 10th Edition by Duane Schultz Test Bank.pdf
show1- motivational ispiring positive thinking
Lesson From Geese! Understanding Teamwork
Paulo Tuynmam: Nine Timeless Anchors of Authentic Leadership
THEORIES-PSYCH-3.pptx theory of Abraham Maslow
Unlocking Success Through the Relentless Power of Grit
PLAYLISTS DEI MEGAMIX E DEEJAY PARADE DAL 1991 AL 2004 SU RADIO DEEJAY
Hazards-of-Uncleanliness-Protecting-Your-Health.pptx
Lesson 4 Education for Better Work. Evaluate your training options.
Why is mindset more important than motivation.pdf
UNIVERSAL HUMAN VALUES for NEP student .pptx
Boost your energy levels and Shred Weight
Commmunication in Todays world- Principles and Barriers
The Blogs_ Humanity Beyond All Differences _ Andy Blumenthal _ The Times of I...
technical writing on emotional quotient ppt
Arabic Grammar with related Qurani ayat .pptx
Top 10 Visionary Entrepreneurs to Watch in 2025
Emotional Intelligence- Importance and Applicability
Want to Fly Like an Eagle - Leave the Chickens Behind.pdf
A portfolio Template for Interior Designer

Speed = $$$

  • 1. Speed = $$$ Peter Gfader
  • 2. Abstract Why is Performance important? Applications in general Webapplicaitons What can we devs do? Tips: How to optimize Web applications Silverlight Backend … Regression How to maintain performance over time How to get faster over time Discussion: What tips do you have in your toolbox? Fill wiki
  • 14. “For Amazon every 100 ms increase in load times decreased sales with 1%” http://glinden.blogspot.com/2006/11/marissa-mayer-at-web-20.html
  • 15. Google “400 ms delay caused a 0.59% decrease in search requests per user” http://velocityconf.com/velocity2009/public/schedule/detail/8523
  • 16. Speed matters! Lucky day
  • 18. HTML • HyperText Markup Language • Describes a web page <html> <head> <title>Hello HTML</title> </head> <body> <p>Hello World!</p> </body> </html>
  • 19. HTTP • Hypertext Transfer Protocol • Request – Response GET /index.html HTTP/1.1 Host: www.example.com HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Content-Length: 438 Content-Type: text/html; charset=UTF-8
  • 20. How a web page is shown Your Hosting Computer Computer The Internet Internet Client Server
  • 21. Request / Response Request www.zuehlke.com The Internet Response Client HTML Serve r
  • 22. XMLHttpRequest AJAX The Internet Client Serve r
  • 23. Silverlight / Flash The Internet Serve Client r
  • 24. “Building a webapp is easy! You just gotta know HTML, CSS, JavaScript, C#, Razor, SQL, DDL, and Regex Oh, plus people skills” https://twitter.com/#!/secretGeek/status/83297694449 287168
  • 25. Can we be too fast?
  • 27. Perceived Speed Mean RT is about 160 ms: auditory stimulus Mean RT is about 190 ms: visual stimulus http://en.wikipedia.org/wiki/Reaction_time
  • 28. What can we do? http://www.flickr.com/photos/rockersdelight/6161622855/
  • 29. You can't improve what you don’t measure
  • 35. YSlow
  • 40. Measure and establish a baseline
  • 43. 1/7 Minify / Uglify
  • 44. 2/7 Compress
  • 45. 3/7 Bundle / Combine
  • 46. 4/7 Image Sprites
  • 47. 5/7 Server side
  • 49. 6/7 Server side Caching
  • 50. 7/7 CDN
  • 53. Developers like to change things
  • 54. Developers need to change things
  • 56. Tools
  • 57. Tools • Firebug http://getfirebug.com/ • Yslow http://yslow.org/ • Pagespeed https://developers.google.com/speed/pagespeed/ • Google Analytics http://www.google.com/analytics/ • Fiddler http://www.fiddler2.com/ • Wireshark http://www.wireshark.org/ • CPorts http://www.nirsoft.net/utils/cports.html • Firebug for SL http://firstfloorsoftware.com/silverlightspy
  • 58. Tools • Jetbrains dotTrace http://www.jetbrains.com/profiler/index.html • ANTS profiler http://www.red- gate.com/products/ants_performance_profiler/index.htm
  • 59. Perfmon Counters • General Windows Server http://adminfoo.net/2007/04/windows-perfmon-top-ten-counters.html http://technet.microsoft.com/en-us/library/cc768048.aspx • SQL Server http://www.databasejournal.com/features/mssql/article.php/3932406/Top-10-SQL- Server-Counters-for-Monitoring-SQL-Server-Performance.htm
  • 60. Tools • Web Standards Update for VS2010 http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83 • Cassette http://getcassette.net/ • Sprite and Image Optimization http://aspnet.codeplex.com/releases/view/65787 • Image Optimizer http://visualstudiogallery.msdn.microsoft.com/a56eddd3-d79b-48ac-8c8f-2db06ade77c3 • CSSCop http://visualstudiogallery.msdn.microsoft.com/a921b98e-9430-4be2-bf53-1169e12bdb50
  • 61. References • 8 Performance tips before going live http://blog.gfader.com/2011/07/website-check-list-part-2-aspnet- 8.html • Performance interview with LoadStorm + more Tools http://blog.gfader.com/2010/06/performance-interview-with- loadstorm.html
  • 62. References • DNR podcast on YSlow http://www.dotnetrocks.com/default.aspx?showNum=390 • Founder of YSlow (Yahoo) http://www.stevesouders.com/blog/
  • 63. Q?
  • 66. Peter Gfader blog.gfader.com Thanks! Exhausted but happy!

Editor's Notes

  • #2: Wieso ist Performance wichtig?Applikation generellWeb applikationenWas können wir tun?Tips: HowtooptimizeWeb applicationsSilverlightBackend…RegressionHowtomaintainperformanceover timeHowtogetfasterover timeDiscussion: Whattips do youhave in yourtoolbox?Fill IKM wiki
  • #4: Click toaddnotesPeter Gfader talksabout web performance
  • #5: Click toaddnotesPeter Gfader talksabout web performance
  • #6: Click toaddnotesPeter Gfader talksabout web performance
  • #7: Click toaddnotesPeter Gfader talksabout web performance
  • #8: Click toaddnotesPeter Gfader talksabout web performance
  • #9: Click toaddnotesPeter Gfader talksabout web performance
  • #10: Performance = Zeitverhalten von SoftwareSpeed = Ausführungsgeschwindigkeit
  • #15: Click toaddnotesPeter Gfader talksabout web performance
  • #21: Show in Firebug  google.com
  • #22: Show in FireBug
  • #23: Show in FireBug
  • #24: Show in FireBug
  • #33: d:\\DataPeterGfader\\ToolBox\\PerfMon\\perfmon-counters-peterG.msc
  • #34: d:\\DataPeterGfader\\ToolBox\\PerfMon\\perfmon-counters-peterG.msc
  • #44: Show zuehlke.comShow google.com
  • #45: Show zuehlke.comShow google.com
  • #46: Show CopyCatlocalhost VS online
  • #47: YouTube
  • #49: POKwebseiteSelect N+1 problem sollte eigentlich SELECT 1+N heissenProdukte
  • #54: We are continuously working on that project. We implement new features, we fix bugs we improve certain bits, or at least we think we improve them  
  • #55: reports