Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Speed as a Feature

Speed as a Feature

Making performance a feature of your application has many benefits. Happier users, happier developers.

Chris Kelly

June 07, 2012
Tweet

More Decks by Chris Kelly

Other Decks in Technology

Transcript

  1. per • for • mance (noun) 1. a way to

    make more money 2. a way to work on stuff that matters
  2. A performant application has a smaller footprint. A smaller footprint

    means less resources to manage. Less resource management means more time working on the good stuff.
  3. 1. Slave to the man 2. Slave to the DOM

    3. Slave to the data 4. Slave to the box 5. Slave to the network
  4. The Internet is a distributed system. We’ve become dependent on

    external services: analytics, ads, trackers, social. Loading an external service can add over 900ms to your load time. Synchronous Javascript calls will block your page load.
  5. Facebook doesn’t always go down. But when it does, it

    takes down the rest of the Internet.
  6. CSS May Be Your New Worst Enemy Browsers block rendering

    until all CSS is downloaded. Browsers will download all CSS before rendering, even if it is unused. Does your mobile phone really need to download the print stylesheet?
  7. Death by Database N+1 queries will bring your database to

    its knees. Slow queries will kick it while it is down. Disk thrashing will finish it off and pick it’s pockets for good measure.
  8. In the Cloud Resources Are Limitless, Right? Resources in the

    cloud are abundant but inconsistent. Failing resources create a domino effect of further failures. Scaling has more to do with people more than any other resource.
  9. There and Back Again, A Network Tale Network round-trips can

    add up quickly, even within the same datacenter. Browsers will limit simultaneous downloads from the same host. Service Oriented Architectures are pushing more data through the network.
  10. Sources and credit: Some content for this presentation was graciously

    provided by: http://www.readwriteweb.com/enterprise/2012/05/the-fastest-online-payment-processor-its-google.php http://blog.newrelic.com/2011/12/22/are-external-services-slowing-you-down-new-relic-infographic-reveals- the-fastest-and-most-popular-external-apis/ http://www.webperformancetoday.com/2012/05/29/browser-innovation-14-web-performance-rules-faster- loading-websites/ http://blogs.keynote.com/the_watch/2012/06/facebook-failed-did-you-.html http://www.phpied.com/css-and-the-critical-path/ http://dtrace.org/blogs/brendan/2012/02/29/the-use-method/ http://highscalability.com/blog/2012/5/16/big-list-of-20-common-bottlenecks.html https://gist.github.com/2841832