TestUnitPerf

I just read Mike Clark's blog entry,

   http://www.clarkware.com/cgi/blosxom/2004/12/29#pyUnitPerf

about a port of JUnitPerf to Python. (JUnitPerf adds
two types of performance tests to JUnit: imposing a limit
to the time it takes to run a test and simulating concurrent
user loads and so forth.)

Is there a similar capability for Ruby?

(Our team has been in need of one for several years, but
it is a non-promotable offense to work on it and we just
don't seem to be able to muster the cash to contract it...)

Thanks,

···

--
Bil Kleb, Hampton, Virginia
http://fun3d.larc.nasa.gov

I'm not aware of a Ruby port of JUnitPerf. I suspect it would be quite easy and take far less code than the Java version.

Given such a tool, I wonder if there would be interest in a performance test suite for a Rails installation. It seems folks often ask about Rails performance and scalability, and rather than guess and speculate, a test suite would simply measure. Perhaps there's an example Rails application that demonstrates common use cases, and performance numbers for various configurations (e.g., Fast CGI, mod ruby) could be posted. As new versions of Rails become available, the test suite is re-run and the new numbers are posted.

One could adapt the performance test suite for a custom application and, for example, fiddle with the number of concurrent users to help plan for capacity.

Anyway, just a random thought. It may be an interesting way to promote Rails goodness from another angle: measure, don't guess.

Mike

···

On Dec 30, 2004, at 3:21 AM, Bil Kleb wrote:

I just read Mike Clark's blog entry,

  http://www.clarkware.com/cgi/blosxom/2004/12/29#pyUnitPerf

about a port of JUnitPerf to Python. (JUnitPerf adds
two types of performance tests to JUnit: imposing a limit
to the time it takes to run a test and simulating concurrent
user loads and so forth.)

Is there a similar capability for Ruby?

Given such a tool, I wonder if there would be interest in a performance test suite for a Rails installation.

We actually almost have such a tool. It's been "almost finished" by Florian Weber for quite a while. It serves as an extension to test/unit and can compile reports on reqs/sec and so on. This would go well with a sample app that did a bunch of standard things and we've had that in mind too.

Preferably, it would give you all the details, but also arrive at an aggregated number you could use for rough comparisons. So you could say that server A got a 24 req/sec rating while server B got a 110 req/sec rating. That would be very nice indeed.

···

--
David Heinemeier Hansson,
http://www.basecamphq.com/ -- Web-based Project Management
http://www.rubyonrails.org/ -- Web-application framework for Ruby
http://macromates.com/ -- TextMate: Code and markup editor (OS X)
http://www.loudthinking.com/ -- Broadcasting Brain

Excellent. I look forward to it.

Mike

···

On Dec 31, 2004, at 12:04 PM, David Heinemeier Hansson wrote:

Given such a tool, I wonder if there would be interest in a performance test suite for a Rails installation.

We actually almost have such a tool. It's been "almost finished" by Florian Weber for quite a while. It serves as an extension to test/unit and can compile reports on reqs/sec and so on. This would go well with a sample app that did a bunch of standard things and we've had that in mind too.

Preferably, it would give you all the details, but also arrive at an aggregated number you could use for rough comparisons. So you could say that server A got a 24 req/sec rating while server B got a 110 req/sec rating. That would be very nice indeed.