JRuby RoR scaling

Greetings,

I’m starting up a project, and I’d like to use Ruby on Rails, and I’m
curious about how well JRuby scales. I’ve read what I could find about
it, and it looks like it can scale well, but may be resource-hungry
about it.

First, about the application: the client has specified that the
application needs to be a J2EE app that they’ll run in WebSphere (so
they can easily add it into their existing infrastructure). The client
expects there to be on the order of 10,000 users.

What types of issues have you seen (or would you expect to see) in
scaling JRuby? Is memory usage going to be the bottleneck? Or will the
extra layer of interpreter/compiler slow it down? Or will it be able to
handle basically whatever WebSphere can handle?

Thanks,
Matt


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

On 10/4/07, Matt B. [email protected] wrote:

they can easily add it into their existing infrastructure). The client
expects there to be on the order of 10,000 users.

What types of issues have you seen (or would you expect to see) in
scaling JRuby? Is memory usage going to be the bottleneck? Or will the
extra layer of interpreter/compiler slow it down? Or will it be able to
handle basically whatever WebSphere can handle?

Raw performance is likely to be significantly lower in that Ruby is
slower
than Java, and JRuby often slower than Ruby. That said, my experience
has
been that both solutions can scale, and that you can mitigate the
performance issues with some architectural choices (like caching) that
are
more important in a Ruby solution than in a Java solution.

“on t he order of 10,000 users” doesn’t say much without context. If
you’re
expecting 10,000 concurrent users, that’s a lot, and you’d want to
consider
performance and scaling very closely. If you’re expecting 10,000 total
users with 2 active at any given moment, then, well, performance and
scaling
aren’t so important.

To be honest, if performance and scaling are your most important
concerns,
I’m not sure that I’d choose Ruby or JRuby (myself, although some would
argue the point). If they’re not your most important concerns, other
benefits may trump the speed loss.

In a project I’m currently working on, for instace, productivity was
more
important than raw performance, so we’re currently using Ruby (and
keeping
an eye on JRuby).

Thanks,