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

Keith and Marios Guide to Fast Websites

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Keith Pitt Keith Pitt
February 22, 2013

Keith and Marios Guide to Fast Websites

This is a presentation that @mariovisic (http://twitter.com/mariovisic) and I (http://twitter.com/keithpitt) performed at the first ever Ruby Conference Australia, 2013.

In the presentation, we take an open source web app (which currently loads in 9 seconds online) and try to make it load in under 2 seconds, using a variety of very easy techniques.

We also demonstrate how to measure performance accurately using open source tools.

You can watch the video of this presentation here: http://vimeo.com/61342267

You can get the full keynote presentation here: https://github.com/desktoppr/keith-and-marios-guide-to-fast-websites

Avatar for Keith Pitt

Keith Pitt

February 22, 2013
Tweet

More Decks by Keith Pitt

Other Decks in Programming

Transcript

  1. Steve Souders “80-90% of the end user response time is

    spent on the frontend. Start there.”
  2. # config.ru require ::File.expand_path('...', __FILE__) use Rack::Deflater # add this

    line run Giftoppr::Application gzip (html, css, javascript)
  3. # Gemfile gem "carrierwave-processing" # app/uploaders/preview_uploader.rb class PreviewUploader < CarrierWave::Uploader::Base

    # ... process :convert => "jpg" process :strip process :quality => 80 end Compress Images
  4. # config/environments/production.rb config.action_controller.asset_host = "http://%d.assets.com" # config/initializers/carrierwave.rb CarrierWave.configure do |config|

    config.asset_host = lambda do lambda do |file| "http://%d.assets.com".gsub /%d/, (file.path.sum % 4).to_s end end end CDN (Multiple Hosts)