In article <UAJb8.69243$LY3.5974590 / bin4.nnrp.aus1.giganews.com>,
Gabriel  <egabriel / eris.io.com> wrote:
>Hi all.  The company I work for is developing an enterprise-class system
>in Ruby (a web-based assessment evaluation and student information
>system), using multi-tiered architecture, test-first development,
>a PostgreSQL back end, under Linux.  We're planning on working toward a
>user base equal to the number of teachers in Texas, and have had excellent
>results with Ruby.  However, recently we've had trouble proving that
>Ruby can scale to this level.  

Perhaps you need to create some sort of simulation of your system with the 
number of users you're planning to have.  Since you apparently have the 
testcases in place, maybe this wouldn't be to hard to do.

>The lack of native thread support has been
>cited as the major reason by the expert hired by our client.  

Perhaps it might be a problem, but if you can set up some kind of 
simulation (or testcase) where the number of threads you're expecting to 
have to handle are launched it might help convince the 'expert' if the 
test is successful.

Also, are there other alternatives to threads for your purpose?  (can you 
fork processes, for example?)  Or are there ways of structuring the code 
so that thread use is minimized - this also might help to calm the 
'expert's suspicions.  If you were running on Windows this would probably 
be an area where I'd be worried, but Ruby Threads work pretty consistently 
well on Linux.

>The other,
>which maybe someone here could help with, is the lack of industry support.
>I already know we can get Ruby expertise in house; several people have
>already expressed interest in working for our company (www.evalsoft.com).

I just checked out your site, but I don't see any job listings.  I suspect 
that if you do list jobs for Ruby programmers (please post 
them to this mailing list as well;-) that you'll get a pretty good 
response.

There's also the 'RealWorldRuby' page on the RubyGarden wiki that Tobias 
mentioned.

>
>The problem is that I can't find examples of real-world applications
>supporting this number of users and the number of database rows we'll
>have.  I don't personally believe it is proof of anything one way or
>the other, but it is important to our client.
>
>If anyone out there is using Ruby for such an endeavor, please email
>me and let me know.  I am looking for major projects, with hundreds of
>thousands of users, capability of hundreds of concurrent users, and
>databases with several million rows in some of the heavily accessed
>tables.
>
>My own tests show that Ruby is performing as well as I'd expect, around
>the same performance as equivalent perl or python, and much better memory
>usage than equivalent java programs.  

Have you shown your results to the 'expert' and your clients? (charts, 
graphs and all).

It would be great if you can get this going - You may be a trailblazer 
when it comes to using Ruby with this large of a system and as such it 
will be a good example to show to people in the future who are asking 
similar questions ;-) (I know that's not much consolation :) I wonder if 
perhaps since Ruby has been in use longer in Japan if someone there might 
be using it at a similar scale?


Phil