Round 2. Updated JRuby to rev 4185. Updated Petstore to rev 25.
Created 10000 sessions both in database and file systems (so that timings are not affected too much because of growing number of sessions). OBSERVATIONS * A huge difference is made by turning off logging. * Somewhat smaller, but still quite noticeable difference is made by disabling ObjectSpace. * server VM makes very little difference to performance (when we measure, JIT is warmed up) * file vs database sessions make no visible difference to JRuby, but only because there aren't many enough sessions. With 6-digit number of sessions, file-based sessions are a well-known performance killer. BASELINE (MRI / Mongrel / native MySQL driver) With file-based sessions : 69 req/sec With database sessions : 88 req/sec With disabled logging: 95 requests/sec JRUBY (trunk / Mongrel / Rails MySQL driver) Run like yesterday: 17 requests/sec With database sessions: 17 requests/sec Turned off ObjectSpace (jruby -O): 21 requests/sec Server VM (jruby -O -J-server): 22 requests/sec With disabled logging: 35 requests/sec JRUBY with AR:JDBC (trunk / Mongrel / AR:JDBC MySQL driver) Run like yesterday: 14 requests/sec With database sessions: 14 requests/sec Turned off ObjectSpace (jruby -O): 16 requests/sec Server VM (jruby -O -J-server): 16 requests/sec With disabled logging: 33 requests/sec * To turn off logging, add RAILS_DEFAULT_LOGGER.level = Logger::FATAL to config/environments/production.rb -- Alexey Verkhovsky CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] RubyWorks [http://rubyworks.thoughtworks.com] --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email
