A simple Rails performance tuning workflow

By Derek Bullet_white Comments Comments

I really like Dan Mange’s workflow for Rails performance tuning:

  1. Use curl for benchmarking. It’s good enough (and damn simple).
  2. Use the ruby-prof gem along with an optional request parameter so you can profile any action, any time.

Dan also does a solid job explaining CPU time and what if means for your Rails app. A snippet:

At CarePages we have an Apache log that logs the controller, action, and Rails runtime. We run a script that groups the runtimes by controller and action, and then calculates the total runtime for a controller/action divided by the total runtime for all requests. What we found the first time we did this was that one of our pages was taking nearly 40% of the overall CPU time. It wasn’t the slowest page, but it was the most frequently hit page. We had two other pages that were taking about 19% and 13% of the overall CPU time. This gave us a good place to start – if we could make the 40% page twice as fast, we would lower our overall CPU usage by 20%.

The 3 pillars of our Rails Monitoring Stack

By Derek Bullet_white Posted in HowTo Bullet_white Comments Comments

Life as a cross-dresser must be unnerving. I could buy a wig, put some makeup on my adam’s apple. Buy a skirt. Does a sock-filled bra work for my bosom?

With a bit of mood lighting, I might actually look like a woman, but it would be difficult to relax. Knowing my manhood could be exposed in a multitude of ways – some stubble on my chin, hair on my legs, forgetting to make my voice less deep, etc. would leave me on-edge.

In some ways, I feel like I identified with cross-dressers before we solidified our Rails monitoring stack over the past year. I just felt vulnerable – that one wrong move could send our Rails stack tumbling.

We’ve standardized our setup, and I thought I’d share the 3 tools we’re using that make me feel much less like a cross-dresser these days.

The 3 pillars of our Rails monitoring stack

We break Rails monitoring into the 3 parts below (along with the tools we use):

Process Monitoring

System Performance

Exception Notifications


“The Diaper”

A safeguard for emergencies

“The Nerves”

Preventing future problems

“The Megaphone”

A loud voice when your app is breaking
Monit Scout Exception Notification plugin
Ensure Mongrels are running & restart leaking processes Catch disturbing trends before they become problems – disk space usage, server load, slow requests, etc. Organizing and collecting application exceptions

So, to be clear, even though we built Scout, we use a combination of tools to make sure our Rails apps are running.

Read More →


Our new graphing engine - a year of data in real-time

By Derek Bullet_white Comments Comments

Plot a week of data. A month. A year. We’re not picky – choose any time range and Scout plots the data in real-time.

You’ve always been able to graph as much data as your plan allows on Scout, but now it’s a whole lot faster. It takes a lot of horsepower for graphing – in fact, some monitoring products limit you to 24 hours of data. Some give you access to more, but you’re in for long wait. When you’re making serious decisions about Rails performance, we think you need to see as much as data as quickly as possible.

Watch a 1 min. 34 sec. Quicktime clip that shows our new graphing engine in action:


If you are an existing Scout user, note that you can now edit your default plugin graphs in-place – there’s no need to create a separate graph. You have the option to save your changes to the graph so it loads with the new settings next time you view the plugin.


Scout Checks in on Passenger

By Derek Bullet_white Posted in Updates, Plugins Bullet_white Comments Comments

The number one requested plugin for Scout has been a Phusion Passenger monitor. I’m happy to report that is now available.

Scout ~ Advance Marketing Engine

Using the new Passenger Monitor plugin, Scout can keep track of Passenger’s VM size, process count, and the amount of private memory it has squirreled away. Aside from just tracking these numbers for graphs, you can also elect to be emailed if any of these statistics crosses a line you indicate. As an added bonus, this plugin also tracks the same statistics for the Apache instance managing Passenger.

Passenger has quickly become a great new way to deploy Rails applications and we want to make sure Scout is keeping up with the curve.


Rails Consultancy Elevated Rails: "using Scout has been a real joy"

By Derek Bullet_white Comments Comments

Ensuring 15 Rails apps are running smoothly can be a real chore, especially when they have core pieces that fall outside the typical monitoring stack. Mike Mangino of Chicago-based Elevated Rails recently wrote about consolidating his Rails monitoring efforts using Scout:

This simple interface to reporting and alerting is incredibly powerful. What makes it even more powerful is the ease with which you can install plugins. ... So far, using Scout has been a real joy. That’s something I never thought I would say about a monitoring tool.

Mike has open-sourced much of his work, publishing his plugins for Scout in our directory:

You can fork and/or follow Mike’s Scout plugins at GitHub.


Track our plugins on GitHub

By Derek Bullet_white Posted in Updates Bullet_white Comments Comments

Commit History for highgroove's scout-plugins 2014 GitHub

You can now follow our commits to Scout plugins at our GitHub Repository.

GitHub makes it easy to find out when new plugins are created. Feel free to fork us (as long as forking is legal in your part of the world).

Quick note – remember to use the raw format when using your own plugins from GitHub by appending ?raw=true to the plugin script URL.

Also see:


Older posts: 1 ... 56 57 58 59 60 ... 67