Ruby Enterprise Edition and Nginx

In a continuing series which benchmarks Phusion Passenger (mod_rails) against other popular Ruby Web serving configurations, today we’re looking at how a vanilla Mongrel cluster backend/Nginx frontend perform using the recently released Ruby Enterprise Edition.

For testing methodology and machine specs, please refer to the first article in the series.

No Impact on Memory Usage

As already stated in the Phusion Passenger FAQs, memory usage will not improve simply by using Ruby Enterprise Edition with Mongrel. This is due to the fact that Mongrel cannot leverage Ruby EE’s memory optimization routines without patching. It’ll be interesting to see this hurdle addressed by the community.

Performance about the Same

A Mongrel cluster powered by Ruby Enterprise Edition performed on par with a standard Ruby 1.8.6 virtual machine running on a 512MB VPS slice powered by Mongrel and Nginx.

Concurrency Level:      100
Time taken for tests:   62.589211 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      30370000 bytes
HTML transferred:       25690000 bytes
Requests per second:    159.77 [#/sec] (mean)
Time per request:       625.892 [ms] (mean)
Time per request:       6.259 [ms] (mean, across all concurrent requests)
Transfer rate:          473.85 [Kbytes/sec] received

Conclusion

To realize the memory and performance numbers seen with previous benchmarks, your best bet is to use Ruby Enterprise Edition with Phusion Passenger/mod_rails.


About this entry