State of the Stack – A Ruby on Rails Benchmarking Report – Sept. 2011
A report on Ruby usage among New Relic Customers
We saw recently that our friend Peter Cooper has created a nice tutorial on moving to Ruby 1.9 called The Ruby 1.9 Walkthrough: How to Go From Ruby 1.8.7 to 1.9.2 and 1.9.3. We started to wonder how many of our customers are on 1.8 versus 1.9, then quickly (and embarrassingly) realized we hadn’t published a Ruby on Rails State of the Stack Report in quite some time. Read the (overdue) report below.
A little background
Many of our customers have opted in to have their performance data shared with the Rails Core Team to aid in the team’s ongoing work on the platform. In addition to that data, New Relic also aggregates information on the versions of Ruby, Rails and the various gems and plugins deployed. This data is based on a sample size of well over 10,000 application instances.
Most Commonly Deployed Ruby Versions

Since our last report, Ruby 1.9.2 has been widely deployed by our customer base. It is still eclipsed by 1.8.7 which leads the pack by far. The decline in usage of 1.8.6 continues apace.
Changes in Ruby Versions Since Rails 3
David Heinemeier Hansson recently noted “I’m proud of how quickly the Ruby community has moved from 1.8 to 1.9. Rails 3.x will be the last major release line w/ 1.8 support.” This got us thinking about how this change from 1.8 to 1.9 has progressed since Rails 3.0 was first released last August. We can see that use of 1.9.2 has increased dramatically since then, and we’re likely to see that pace of change continuing.

Most Commonly Deployed Rails Versions

Rails 3 has now become the dominant major version deployed in production with over 50% of applications using some version of Rails 3. Rails 2.3.x still represents 43% of applications in production with other Rails versions sharing the remaining 5%.
Most Commonly Deployed Ruby Dispatchers

At the time of our last report, the race between Thin and Passenger was on, with each sharing about a 40% share of the sample. Fast forward to today and Thin has taken the lead with 45% while passenger use has declined to 29%. Mongrel use has declined to 4% while Sinatra represents 2%.
Most Commonly Used Ruby Gems
This is the list of the top 50 gems deployed. If a gem you are interested in is not listed, tweet @newrelic with the gem name and we can tweet the number of deployed applications using it across our customer base. The number on the left indicates the number of times this gem was detected within an application New Relic monitors.
Update: We have released the complete list of publicly available ruby gems detected in ruby applications monitored by New Relic.
Most Commonly Used Rails Plugins
This is the list of the top 50 plugins deployed. If a plugin you are interested in is not listed, tweet @newrelic with the plugin name and we can tweet the number of deployed applications using it across our customer base. The number on the left indicates the number of times this plugin was detected within an application New Relic monitors.
Update: We have released the complete list of rails plugins detected in ruby applications monitored by New Relic.
Anything else you’d like to see?
New Relic collects somewhere around 24 billion metrics a day from over 12k customers. That’s a lot of deployment and performance data! What else would you like to see us report on? Drop me a line or let us know on twitter (@newrelic).
Sign up here. It's free, so why not?



I would be quite interested to see the gems from the middle-ground of the “Most used” list.
Almost all the gems listed on this page are pretty well known and widely deployed and while the information is useful it doesn’t help in learning about new and interesting gems which may be a bit more niche.
Brian Doll Reply:
September 29th, 2011 at 11:06 am
Great idea. We got a lot of feedback from folks who wanted to see more than just the top 50, too. I just updated this post to include links to the full list of public gems. Enjoy!
Posted: 28 September 2011 at 5:24 pm by RurouniJones
Very cool! Thank-you for sharing
Posted: 29 September 2011 at 8:39 am by Brian Cardarella
What exactly is a “dispatcher”? It seems really odd to me to put thin, passenger, unicorn, and mongrel (Rack HTTP servers) in the same category as sinatra (Rack app framework) and delayed_job and resque (services for doing background work).
Brian Doll Reply:
September 29th, 2011 at 11:13 am
Internally we give the name “dispatcher” to describe how the ruby code we’re instrumenting is being run.
We have to pay careful attention to the various styles of invocation, as unicorn has a different model than passenger, for example. Background job runners also have different characteristics and we may have special instrumentation for them.
So while not all values of “dispatcher” are in the same category of technology, they are very applicable to us, and we get a lot of interest from folks who want to see the deployment stats for those technologies compared.
You’re free to ignore them, of course
Posted: 29 September 2011 at 11:00 am by Sam Livingston-Gray
this is awesome, thanks a bunch. next round, maybe you could concoct some distinction between all apps and “busy apps” or “loaded apps”…. or “grown-up apps”.
i’m left wondering whether a bunch of small or experimental or freebie heroku apps are skewing #s a bit. how many of these are Heroku apps?
Posted: 12 October 2011 at 9:13 am by chris a
Are the dispatcher statistics new skewed towards thin as Heroku use thin as the application server for Ruby on Rails?
Posted: 12 October 2011 at 9:22 am by Jon Williams
Very interesting data, thanks for sharing. Especially the 1.9.2 vs 1.8.7 comparison and Passenger vs. Thin which I found a bit surprising. I don’t see any mention of JRuby, either on the Ruby Versions chart or the Ruby Dispatcher chart. It would be nice to see the Ruby Versions broken down by 1.8.7 MRI, 1.8.7 JRuby, 1.9.2 MRI, 1.9.2 JRuby, etc. And no mention of a JRuby web server such as Trinidad?
Posted: 12 October 2011 at 10:27 am by Luke Ludwig
Interesting. Looks like I need to start reading up on Rails 3.
Posted: 12 October 2011 at 1:58 pm by Kestrel Blackmore
I am quite interested to see how many application has migrated previously from Rails 2 to Rails 3.
Posted: 12 October 2011 at 6:06 pm by Shanison
By looking the main list only, I almost thought pg was the most used database. The full list shows mysql+mysql2 gems, which is almost twice as pg.
Posted: 13 October 2011 at 7:19 am by Alexandre de Oliveira
I echo Jon William’s comment above – It would be interesting to have another view of the stats weighted by app activity in some way that you already measure.
Posted: 18 October 2011 at 10:22 am by Alan McCann
Thanks for sharing. Very interesting usage statistics and helpful to raise the upgrade issue internally.
Posted: 19 October 2011 at 12:37 am by Falk Köppe