Ask A Question

Notifications

You’re not receiving notifications from this thread.

Passenger vs Puma

Matt Walston asked in Servers

I notice that there seems to be a preference for Passenger over Puma in your screencasts and hatchbox.io. Can you elaborate? I was curious about HTTP/2, multithreading, performance, etc.

Reply

It's about 100x easier for anyone new to running their own Rails apps. It's far more helpful when things go wrong with it's nice error pages and everything. That's the main reason.

Learning should start with the easy way to get started and then work your way up. Most of the support requests I get on Hatchbox come from people using Puma with know knowledge of how to use or debug it. That doesn't happen with Passenger since it just works and doesn't require any special setup. Puma requires you to run it as a separate service, unix sockets, gotta read the logs to find out why it's not running, etc. Not near as user friendly, but that's why they can charge money for Passenger.

It's also faster than Puma if you pay for Passenger Enterprise, but it can be costly. Since it's written as an NGINX module, it's running C code, not Ruby. https://www.rubyraptor.org/how-we-made-raptor-up-to-4x-faster-than-unicorn-and-up-to-2x-faster-than-puma-torquebox/ "Raptor" was their codename for Passenger 5.

Puma is free, so most people like that for obvious reasons. There are lots of blog posts on both, so you can make the decision on what you want to use.

Reply

Thank you for such a thoughtful answer. Makes perfect since to me.

Reply

Hi. I have an inbuilt chat functionalty on my application that utlises websockets. My server freezes up very often and I can't figure out what config is best suited for my app.
https://github.com/phusion/passenger/wiki/Puma-vs-Phusion-Passenger talks about puma vs phusion-passenger. I have inferred my app will need multithreading (message relay jobs) hence I'm rolling back to puma which I had changed to phusion-passenger due to the same problem earlier. Am I addressing the problem here ? What do you think ?

Reply
Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 85,376+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.