
The Road to Passenger 3: Performance - acangiano
http://blog.phusion.nl/2010/06/10/the-road-to-passenger-3-technology-preview-1-performance-2/
======
luckystrike
Good work by Phusion guys (as usual). It is extremely heartening to see
renewed focus on performance by them.

I was a little disappointed to read this comment though:

    
    
      Needless to say, we’ve performed our own benchmarks already and have concluded 
      that “the self-proclaimed fastest deployment solution” really isn’t 
      the fastest deployment solution compared to Phusion Passenger 3. ;-)
    

The comment seemed a little snarky to me. Never met these folks in person, but
all I have heard is good things about them. So, I hope it was just a tongue in
cheek comment about the competitor solution. :-)

Most of the times competition is good for everyone, as it raises the bar and
in general improves helps improve the quality of the solutions.

Hope they keep coming up with more such good things in future.

Disclaimer: I am the co-creator of the 'self proclaimed fastest ..' referred
in the post. - [http://webroar.in/blog/2009/11/25/comparison-of-rails-
deploy...](http://webroar.in/blog/2009/11/25/comparison-of-rails-deployment-
stacks-2)

I am no longer involved in the project, so would not be able to say anything
on behalf of the folks who currently taking care of it now.

~~~
FooBarWidget
It was. This isn't the only time we've been making jokes in our blog posts.
Sorry if it came over as otherwise. :)

~~~
luckystrike
Hey, no problem! May be I had a long day here and read too much in to it.

Love your stuff.

~~~
FooBarWidget
No problem. However several users have contacted us in the past about not only
your blog post, but also the skewed benchmark graph on your front page. The
skewing makes it appear as if your number is much (2x) higher which people
apparently perceive as misleading. We've never made a fuss about this but now
that you're mentioning it I might as well tell you.

~~~
luckystrike
I understand your point about the front page graph on the WebROaR site. The
only thing I can say on a public forum is that the project is being done
inside an organization, and you might know, developers ain't always in control
of everything (except perhaps their code). :-). Why would I move out of a
project that I had so much fun creating ..

I'll just leave it here for now.

If you ever happen to visit India, do let me know, would be happy to catch up
over a beer (or your favorite drink).

~~~
FooBarWidget
Hehe sure thing. :)

------
stcredzero
_That said, benchmarks are lies, lies, lies, damn lies of course_

A hyperbolic warning, to not believe the hype.

I like the move to zero-copy, though. I think that's the right thing to do. I
wrote a Smalltalk zero-copy templating engine for an in-house web application
server in the early 2000's. I think zero-copy is one case where it's not pre-
optimization to plan ahead. We didn't get this far, but we could've
implemented some buffer caches and put the vast majority of the templating
stuff into Perm-Space where the garbage collector wouldn't have to touch it at
all!

------
davidw
I'm always happy to get free performance improvements, so it looks like a job
well done. However, they note that "It’s not very useful to benchmark Phusion
Passenger performance using a Rails application because most of the time is
spent in Rails and the application itself." - which I would take to mean that
in real world usage, this improvement really isn't going to buy me much.
Still, nice work, and thank you!

~~~
sabat
_this improvement really isn't going to buy me much_

I think what they were saying is that they wanted to benchtest raw Passenger
performance instead of Rails performance. Your Rails app will almost certainly
see some benefit from Passenger 3, but they didn't want to distort their
testing by throwing Rails into the mix. Makes sense to me.

~~~
davidw
That they wanted to benchmark their own stuff rather than Rails is blatantly
obvious.

My point is that if, in my Rails app, 5% of the time is taken up by Passenger
in a typical request, even big improvements like these are just not going to
mean much in the real world.

Perhaps they can shed some light on what real world percentages of request
time for Passenger vs Rails+App might look like.

~~~
FooBarWidget
Well the thing is there is no such thing as a single "real world percentage".
If you want to know what the percentage is for you, you should benchmark it
yourself.

~~~
davidw
A Hello World page would give a good lower bound for Rails' part of things, I
think... Beyond that, it's only going to take up more of the total, right?

------
jsiarto
This is slightly off-topic, but It's nice to see that Phusion updated their
branding and website. It's been a while since I've visited that site, but that
stupid graffiti tag logo they had before was awful. The new look helps me take
them more seriously.

~~~
mr_justin
Was it there too? I thought it was just on the modrails site, which it still
is. "Stupid graffiti" ... somebody doesn't like graffiti art.

~~~
pauldino
The modrails site always made me think of that video where Microsoft designs
the iPod box... <http://www.youtube.com/watch?v=aeXAcwriid0>

------
wingo
>Optimizing algorithms and optimizing Ruby code in C

> Some key Ruby code has been replaced by C code.

Ew. I feel sorry for them. "C for speed" is C for a calcifying creep across
your application. Necessary at times, but only if your language isn't good
enough.

~~~
caffeine
I recommend <http://eigenclass.org/hiki/rocaml>

------
gaiusparx
Thank you for your work Phusion. Can't wait for its release.

------
chuhnk
I would like to see a more extensive benchmark against some of the more
popular servers like unicorn, thin, and maybe even the framework sinatra.

~~~
FooBarWidget
It would be hard to benchmark against Sinatra because it's not a server. :)

~~~
chuhnk
yes my mistake.

------
grandalf
Any update on a 1.9.x version of passenger?

~~~
FooBarWidget
Not sure what you mean. Phusion Passenger 2.2 is already 1.9 compatible and
has been for a long time now.

~~~
grandalf
oops, misspoke. I meant a 1.9.x version of REE :)

