I'd go straight for JMeter.

WATiR works by driving a browser, and you just aren't really going to
be able to stress test a webapp that way.  Even with several machines
running the tests.

Jmeter works by simulating user sessions, it isn't a whole browser.
It handles sessions and cookies, but other than that just sends http
commands to the server.  Because of it's design, it can easily
generate a lot of traffic from multiple different sessions on a single
machine, and really give the server a working over.

It takes a few days to get really good at, but it's free (open
source), currently maintained, and very _very_ powerful.  It's heavily
java based, and any scripting done in it is though java-esqe scripting
languages, not ruby.  That said, it's easy to make it read values from
csv and xml files for dynamic tests, so you can do a whole lot without
much scripting.

When I worked as a test-developer it's what I used for stress testing,
while relying on WATiR for other testing.

--Kyle