Philippe Hanrigou
Posts: 32
Nickname: ph7
Registered: Nov, 2007
|
Philippe Hanrigou is a consultant specializing in enterprise software and agile methodologies
|
|
|
|
caller_for_all_threads now in Ruby Enterprise Edition
|
Posted: Dec 11, 2008 3:09 AM
|
|
The awesome guys behind Phusion Passenger just released a new version of Ruby Enterprise Edition, which includes my work on caller_for_all_threads. For people who are not keen on patching and compiling their own Ruby interpreter, this is great news. Now, to be able to dump the stack trace of all the threads in your Ruby application… all you need to do is to install Ruby Enterprise Edition!.
If you are unfamiliar with caller_for_all_threads, it provides a handy way to gain a comprehensive understanding of the state of your Ruby application when it starts to misbehave. I have found it to be a quick and invaluable troubleshooter of tough Ruby on Rails production problems.
As for Ruby Enterprise Edition, if you haven’t evaluated it yet, you should:
-
When you use Ruby Enterprise Edition with Phusion Passenger you can save your Rails application memory usage by 33%1, which translates into tangible financial savings. This amazing result stems from tactical tweaks in the Ruby interpreter code 2, which makes it so that a significant portion of the interpreter representation in memory remains unchanged over the course of the application life-cycle. By leveraging the copy-on-write mechanism available on modern operating systems, this invariant memory representation of the Ruby interpreter can then be shared transparently between multiple Ruby processes3.
-
For 32-bits platforms, this Ruby Enterprise Edition release also includes significant improvement for Ruby memory allocation and garbage collection, which constitute the most overlooked performance problems in Ruby applications today. So progress in these areas is crucial! With Ruby Enteprise Edition memory handling enhancements you can expect something like a 20% speedup out-of-the-box for typical Ruby applications. Even better, since this release also integrates RailsBench GC patches, you can also tweak various garbage collector settings to your liking and go even further!
-
Finally, you can use Ruby Enterprise Edition in production today without changing a line of code: This is simply good old M.R.I. 1.8.6 bundled with a couple of clever and well-chosen patches that make a world of difference. Even better, it is production-grade: many high-profile and high-traffic websites including the New York Times, MTV, Shopify and 37signals already use Ruby Enteprise Edition today.
In conclusion, I am flattered to have my work incorporated into the core of what constitutes today’s state-of-the-art deployment infrastructure for Ruby web applications (Phusion Passenger + Ruby Enterprise Edition). Hopefully, you will also find my work useful. Please send me your feedback – I’d love to learn about how you use it and your ideas on ways to improve it!
Read: caller_for_all_threads now in Ruby Enterprise Edition
|
|