# Benchmarking rails app

**URL:** <https://www.ruby-forum.com/t/benchmarking-rails-app/72225>\
**Category:** Rails\
**Created:** [October 15, 2006, 8:42pm UTC](https://www.ruby-forum.com/t/benchmarking-rails-app/72225 "2006-10-15T20:42:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![cwd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/da6949/32.png) [@cwd](https://www.ruby-forum.com/u/cwd)\
**Post date:** [October 15, 2006, 8:42pm UTC](https://www.ruby-forum.com/t/benchmarking-rails-app/72225/1 "2006-10-15T20:42:59Z")

</div>

I’ve been poking around at some benchmarking to see how my app is  
performing  
(mongrel cluster/pound). Currently, I’m using ab and httperf and  
collecting  
requests/second. I’m not convinced that I’m using realistic loads.

What are others using for the options to these benchmark programs?

## Thanks

View this message in context:  
[http://www.nabble.com/benchmarking-rails-app-tf2448012.html#a6823524](http://www.nabble.com/benchmarking-rails-app-tf2448012.html#a6823524)  
Sent from the RubyOnRails Users mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![cwd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/da6949/32.png) [@cwd](https://www.ruby-forum.com/u/cwd)\
**Post date:** [October 15, 2006, 10:59pm UTC](https://www.ruby-forum.com/t/benchmarking-rails-app/72225/2 "2006-10-15T22:59:13Z")

</div>

On Oct 15, 2006, at 11:40 AM, s.ross wrote:

> I’ve been poking around at some benchmarking to see how my app is  
> performing  
> (mongrel cluster/pound). Currently, I’m using ab and httperf and  
> collecting  
> requests/second. I’m not convinced that I’m using realistic loads.
> 
> What are others using for the options to these benchmark programs?

[http://dev.robotcoop.com/Tools/production\_log\_analyzer/index.html](http://dev.robotcoop.com/Tools/production_log_analyzer/index.html)

I attack the problem from the other end. Take actual usage and make  
that faster. Getting a report of what actions need optimization is a  
better way to focus your energies.

Creating realistic loads can be hard, so I don’t bother trying to  
simulate it.

–  
Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)  
This implementation is HODEL-HASH-9600 compliant

[http://trackmap.robotcoop.com](http://trackmap.robotcoop.com)

---

<div class="post-metadata">

**Author:** ![cwd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/da6949/32.png) [@cwd](https://www.ruby-forum.com/u/cwd)\
**Post date:** [October 15, 2006, 11:15pm UTC](https://www.ruby-forum.com/t/benchmarking-rails-app/72225/3 "2006-10-15T23:15:15Z")

</div>

Thanks, Eric. I’ve read your Tools section before and your analysis is  
excellent. As an optimization technique, I agree with what you say.

What I’m after right now is a way to understand how much headroom my app  
has. I.e., what would happen if we never touched a line of code and then  
experienced an order of magnitude more traffic.

I think ab and httperf are somewhat blunt instruments but they can be  
useful  
in understanding some of the response characteristics of different  
configurations, no?

Eric H. wrote:

> > What are others using for the options to these benchmark programs?  
> > –  
> > Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)  
> > This implementation is HODEL-HASH-9600 compliant
> 
> [http://trackmap.robotcoop.com](http://trackmap.robotcoop.com)
> 
> >

–  
View this message in context:  
[http://www.nabble.com/benchmarking-rails-app-tf2448012.html#a6825024](http://www.nabble.com/benchmarking-rails-app-tf2448012.html#a6825024)  
Sent from the RubyOnRails Users mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![cwd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/da6949/32.png) [@cwd](https://www.ruby-forum.com/u/cwd)\
**Post date:** [October 16, 2006, 12:32am UTC](https://www.ruby-forum.com/t/benchmarking-rails-app/72225/4 "2006-10-16T00:32:54Z")

</div>

Take a lot at railsbench ([http://railsbench.rubyforge.org/](http://railsbench.rubyforge.org/))

I tend to use that to have a general idea of where I’m at (and to  
evaluate the impact my changes have), together with action\_profiler to  
pin down where those cpu cycles are going

Fred

---

<div class="post-metadata">

**Author:** ![cwd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/da6949/32.png) [@cwd](https://www.ruby-forum.com/u/cwd)\
**Post date:** [October 16, 2006, 7:51am UTC](https://www.ruby-forum.com/t/benchmarking-rails-app/72225/5 "2006-10-16T07:51:07Z")

</div>

On Oct 15, 2006, at 2:14 PM, s.ross wrote:

> > [http://dev.robotcoop.com/Tools/production\_log\_analyzer/index.html](http://dev.robotcoop.com/Tools/production_log_analyzer/index.html)  
> > has. I.e., what would happen if we never touched a line of code and  
> > then  
> > experienced an order of magnitude more traffic.
> 
> I think ab and httperf are somewhat blunt instruments but they can  
> be useful  
> in understanding some of the response characteristics of different  
> configurations, no?

Yes, and to get the right traffic mix you can use your logs to get an  
idea of where that load is likely to go.

I bet you could combine pl\_analyze’s report (for actions and  
frequencies) with railsbench’s benchmarks.yml to get a realistic  
answer to your question. You might need to throw in some extra log  
file analysis to look at params, since some parameters may have  
wildly different performance characteristics.

–  
Eric H. - removed\_email\_address@domain.invalid - [http://blog.segment7.net](http://blog.segment7.net)  
This implementation is HODEL-HASH-9600 compliant

[http://trackmap.robotcoop.com](http://trackmap.robotcoop.com)
