24 comments

[ 3.1 ms ] story [ 70.5 ms ] thread
worth upgrading from unicorn for a few thousands visitors per month?
Nope. You'll be fine on whatever you're running on. Even Webrick.
Just to be clear (not sure if you're kidding) but people use Passenger (and production application servers in general) not just because they meet some minimum throughput threshold.

Passenger takes care of keeping your application alive, makes sure slow clients don't break it, automatically handles concurrency and has low latency. That's just the basics, there's a lot of configuration options for the more serious deployments.

As a (primarily) developer who is also in the DevOps "space", I'm wondering if anyone knows Phusion's usage popularity over "rolling your own" (unicorn) or Paas (Heroku) usage?

The enterprise features seem really great, although per server charging is definitely in the Enterprise range of $$$ !

People dramatically underestimate the amount of time necessary to support a complex project like Passenger. Phusion earns every dime of that Enterprise pricing.
I think they built their popularity by being the first really easy way to use Rails with Apache. And by being a solid, well documented, easy to use product.
I really like Passenger for my dev servers, because you can easily run both Ruby (Rails) and Python (WSGI) applications under it. I'm not aware of another mainstream app server that offers that flexibility.
I'm not sure if you can call it mainstream but what about uwsgi?
Don't forget that you can also run Node.js apps on Passenger.
(comment deleted)
...and it still doesn't log to syslog nor stdout?
With that few requests, the wrong app server will terminate the process, meaning that every request will endure massive startup costs.

It also probably means that the server is on a $5 VM, so memory pressure is also a concern.

Is the 4x performance improvement in all the charted benchmarks exclusively an enterprise benefit?

It would be really nice to a see comparison including both the open source and enterprise versions.

No, it is in open source.

Everything you read about is open source, unless explicitly documented as enterprise only.

So what about the hybrid concurrency model--specifically the multithreading, which seems to be enterprise only? Would one expect even higher throughput than what's shown in the charts?
Multithreading is documented as enterprise only. Whether it helps throughput depends on your app's workload. If your app spends a lot of time waiting on IO, such as the database or external HTTP API calls, then yes it will likely improve throughput. Otherwise it won't improve throughput, though it can reduce memory usage.
It's because of Passenger's built-in short-term HTTP cache, which is included in the open-source version. That said, the performance gain from the charts is from caching; it's not going to make your Ruby code run 4x faster. Be sure you read https://blog.phusion.nl/2015/02/09/turbocaching-security-cha... to make sure you don't accidentally end up serving things from a cache that you intended to not be cached/shared.
Great news, but I'm a bit disappointed that Debian/Ubuntu repo is not available on launch day.