do we need to scale?$ siege -t 60s list_of_urls.txt** SIEGE 2.72** Preparing 15 concurrent users for battle.The server is now under siege...pay attention to:● transaction rate● throughput● concurrency
ActionController::ConditionalGetclass DooHickeyController < ApplicationController def show_something expires_in 1.day @doo_hickey = DooHickey.find(params[:id]) if stale?(:etag => @doo_hickey, :last_modified => @doo_hickey.updated_at ) @doo_hickories = @doo_hickey.children # expensive repond_to do |format| # etc... end end endend
Content Distribution Networks (and S3 asset hosting)
getting out of the static asset hosting business S3 is an infinite disk that is plugged in to the internetcan pretend youre not on S3 if you set up DNS appropriatelycurrently migrating all property images on to S3
you can do with with Rails too!use jammit-s3 to compile/load your assets intoS3paperclip will let you upload into S3dragonfly support resizing with S3 caching
scaling lessons learned simpler is easier to scale than complexparticularly if you can separate the reading/writing parts of your app when in doubt - test you do TDD right? scaling shouldnt be different
scaling lessons learnedthe fastest request is the one you never make CDNs are awesomeprovided their edge nodes match the distribution of your users
the cloud is coming to AUrackspace is building a DC in Sydney opening ~late 2012CDN and Route53 available in Sydney more on the way?