Software Alternatives & Reviews

Unicorn vs. Puma vs. Passenger: which app server is right for you?

Phusion Passenger Puma Unicorn
  1. Phusion Passenger is a multi-language (Ruby, Python, Node) web & app server which can integrate into Apache and Nginx
    Pricing:
    • Open Source
    I'm probably stating the obvious, but you can't use a multithreading app server if your app isn't threadsafe. In that case, Puma, Unicorn, and Passenger can all work. For Puma, you'll just limit each worker process to one thread. It then behaves like Unicorn or the open-source Passenger version.

    #Web Servers #HTTP/2 Web Server #Web And Application Servers 1 social mentions

  2. 2
    A concurrent web server for Ruby.
    Pricing:
    • Open Source
    There's a reason Puma is the default app server for newly generated Rails apps and on Heroku today: it's easy to configure and mostly "just works" out-of-the-box. It makes a lot of sense to start with Puma and evaluate Passenger as your app grows and needs more advanced features and configuration options.

    #Web And Application Servers #Application Server #Web Servers 3 social mentions

  3. Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections.
    Pricing:
    • Open Source
    Puma and Passenger are equipped to handle slow clients. Unicorn cannot help with slow clients by itself: requests go directly to a worker process. Unicorn doesn't hide this. The Unicorn docs clearly state: "You should not allow unicorn to serve clients outside of your local network". However, you can get around by using Nginx as a reverse proxy and letting it buffer client requests.

    #Web And Application Servers #Application Server #Ruby Application Server 1 social mentions

Discuss: Unicorn vs. Puma vs. Passenger: which app server is right for you?

Log in or Post with