Taking the guesswork out of scaling

April 24, 2008 by Derek

Posted in Examples | no comments Comments

Determining a web application’s hardware resources isn’t easy (or cheap). Frankly, it’s often just guesswork. Even when you build benchmarking scripts, they can miss key behaviors and ignore important metrics.

Scaling becomes a lot less stressful when you can quickly compare a history of your application data with server performance.

For example, we did this to get a better understanding of how our Scout server performed during our invitation process. The graph below was generated through Scout and shows the relationship between user accounts and the server load. As we expected, the overall load on the server increased as the number of accounts increased. Scout shows us how this data is correlated – it gives us an idea of how many accounts our current hardware can support.

Scout Accounts vs. Server Load
accounts vs load

It’s trivial process to regularly feed Scout your application data (user signups, orders, revenue, etc):

  1. Start with this Rails App Plugin Sample (this assumes a Ruby on Rails application, but you can do this with any framework/language)
  2. Grab your application data – just use ActiveRecord!
  3. Put the plugin on your server (can protect behind basic auth)
  4. Add the plugin

Comments

(leave url/email »)

  

Featured Plugins

  • Ruby on Rails Instrumentation
    NEW for Scout 2.0! This plugin monitors a Ruby on Rails Application, providing deep analysis of application performance, MySQL optimization hints and breakdowns on individual actions.
  • Process Usage
    Monitors the memory usage of a process, generating an alert if it exceeds a specified threshold.
  • URL Monitoring
    Monitors the availability of a URL, sending an alert if the URL is not reachable.
  • Server Load
    Monitors the load on server, generating an alert if the load over the last minute is greater than a specified amount.


Categories

Already have a Scout account?   Where do I login? Highgroove Studios Powered By Rails Machine