Thanks to everyone who made it to the meeting last night, braving the
sideways rain and zero visibility.
Here is my presentation, if you can find any use for its content at a
later date:
http://tinyurl.com/l3g63e
For yous who aren't git ninjas, you can easily view on GitHub a commit
listed in the presentation by copying the commit sha1 hash (that
freakishly long set of letters and numbers) from the slides and paste
into a url like this:
http://github.com/seven1m/onebody/commit/c1b2c9279495ab8190ee1744f7018f180830c484
The memory and speed test results in the last few slides were running
my app on Webrick, which I would never do in production (except that
one time I did it in production). Also, that was running in
development mode -- I'm not sure how that would affect the numbers.
So, unhappy with those tests, I thought I would do some more testing
(totally unscientific, remember) comparing Phusion Passenger on Ruby
Enterprise Edition vs. Ruby 1.9 running my app in production mode.
Here are the results...
2 instances on Ruby Enterprise Edition (PassengerMaxPoolSize 2)
4.2% 87340 ruby Rails: /home/tim/p/
onebody
4.1% 85036 ruby Rails: /home/tim/p/onebody
2 instances on Ruby 1.9 (PassengerMaxPoolSize 2)
4.2% 88328 ruby1.9 Rails: /home/tim/p/
onebody
4.2% 88244 ruby1.9 Rails: /home/tim/p/onebody
Yes, that is saying what you think it's saying. Ruby 1.9 is using
slightly *more* memory than Ruby Enterprise Edition. I did this three
times to make sure I wasn't missing something, and these numbers are
typical. REE tends to beat 1.9 by MB or two. I don't understand why.
Now, let's test speed...
Ruby Enterprise Edition:
Processing PeopleController#show (for 127.0.0.1 at 2009-09-22
12:31:56) [GET]
Completed in 380ms (View: 317, DB: 5) | 200 OK [
http://onebody.local/
people/27942]
Processing StreamsController#show (for 127.0.0.1 at 2009-09-22
12:31:54) [GET]
Completed in 466ms (View: 435, DB: 3) | 200 OK [
http://onebody.local/
stream]
Ruby 1.9:
Processing PeopleController#show (for 127.0.0.1 at 2009-09-22
12:29:48) [GET]
Completed in 176ms (View: 97, DB: 5) | 200 OK [
http://onebody.local/
people/27942]
Processing StreamsController#show (for 127.0.0.1 at 2009-09-22
12:29:45) [GET]
Completed in 156ms (View: 128, DB: 2) | 200 OK [
http://onebody.local/
stream]
Now *that's* significant. I ran these tests 3 times as well, and these
numbers are typical. 1.9 cut the response time in half or better.
So, there you go.