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

Reply via email to