Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Speed = $$$

1,600 views

Published on

Why is Performance important?
Applications in general
Web applicaitons
What can we as 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?

  • Be the first to comment

Speed = $$$

  1. 1. Speed = $$$ Peter Gfader
  2. 2. AbstractWhy is Performance important? Applications in general WebapplicaitonsWhat can we devs do?Tips: How to optimize Web applications Silverlight Backend …Regression How to maintain performance over time How to get faster over timeDiscussion: What tips do you have in your toolbox? Fill wiki
  3. 3. Speed matters?
  4. 4. #1 Trust
  5. 5. #2 Money
  6. 6. “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
  7. 7. Google “400 ms delay caused a 0.59% decrease in search requests per user”http://velocityconf.com/velocity2009/public/schedule/detail/8523
  8. 8. Speed matters! Lucky day
  9. 9. The web
  10. 10. HTML• HyperText Markup Language• Describes a web page <html> <head> <title>Hello HTML</title> </head> <body> <p>Hello World!</p> </body> </html>
  11. 11. 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
  12. 12. How a web page is shown Your Hosting Computer Computer The Internet Internet Client Server
  13. 13. Request / Response Request www.zuehlke.com The Internet ResponseClient HTML Serve r
  14. 14. XMLHttpRequest AJAX The InternetClient Serve r
  15. 15. Silverlight / Flash The Internet ServeClient r
  16. 16. “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/83297694449287168
  17. 17. Can we be too fast?
  18. 18. Video playerTechnical
  19. 19. Perceived SpeedMean RT is about 160 ms: auditory stimulusMean RT is about 190 ms: visual stimulushttp://en.wikipedia.org/wiki/Reaction_time
  20. 20. What can we do?http://www.flickr.com/photos/rockersdelight/6161622855/
  21. 21. You cant improve what you don’t measure
  22. 22. Measure
  23. 23. Perfmon
  24. 24. Perfmon Counters
  25. 25. Perfmon Customization
  26. 26. PageSpeed
  27. 27. YSlow
  28. 28. LoadStorm
  29. 29. TipMeasure from day 1
  30. 30. Measure and establish a baseline
  31. 31. Improve
  32. 32. 1/7 Minify / Uglify
  33. 33. 2/7 Compress
  34. 34. 3/7 Bundle / Combine
  35. 35. 4/7 Image Sprites
  36. 36. 5/7 Server side
  37. 37. Server side
  38. 38. 6/7 Server side Caching
  39. 39. 7/7 CDN
  40. 40. Silverlight?
  41. 41. Measure again
  42. 42. Developers like to change things
  43. 43. Developers need to change things
  44. 44. Before and After
  45. 45. Tools
  46. 46. 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
  47. 47. Tools• Jetbrains dotTrace http://www.jetbrains.com/profiler/index.html• ANTS profiler http://www.red- gate.com/products/ants_performance_profiler/index.htm
  48. 48. 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
  49. 49. 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
  50. 50. 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
  51. 51. References• DNR podcast on YSlow http://www.dotnetrocks.com/default.aspx?showNum=390• Founder of YSlow (Yahoo) http://www.stevesouders.com/blog/
  52. 52. Q?
  53. 53. Yours?
  54. 54. Fill IKM?
  55. 55. Peter Gfaderblog.gfader.comThanks! Exhausted but happy!

×