Pow vs Puma: What are the differences?
What is Pow? Zero-configuration Rack server for Mac OS X. Pow is a zero-configuration Rack server for Mac OS X. It makes developing Rails and Rack applications as frictionless as possible. You can install it in ten seconds and have your first app up and running in under a minute. No mucking around with /etc/hosts, no compiling Apache modules, no editing configuration files or installing preference panes. And running multiple apps with multiple versions of Ruby is trivial.
What is Puma? A Modern, Concurrent Web Server for Ruby. Unlike other Ruby Webservers, Puma was built for speed and parallelism. Puma is a small library that provides a very fast and concurrent HTTP 1.1 server for Ruby web applications.
Pow and Puma can be categorized as "Web Servers" tools.
Pow and Puma are both open source tools. It seems that Puma with 5.73K GitHub stars and 974 forks on GitHub has more adoption than Pow with 3.47K GitHub stars and 258 GitHub forks.
What is Pow?
What is Puma?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose Pow?
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Pow?
Sign up to get full access to all the companiesMake informed product decisions
What tools integrate with Puma?
We switched from Unicorn (process model) to Puma (threaded model) to decrease the memory footprint of our Rails production web server. Memory indeed dropped from 6GB to only 1GB!
We just had to decrease our worker count and increase our thread count instead. Performance (response time and throughput) remained the same, if not slightly better. We had no thread-safety errors, which was good.
Free bonus points are:
- Requests are blazing fast on our dev and staging environments!
- Puma has first-class support for WebSockets, so we know for sure that Rails ActionCable or GraphQL subscriptions will work great.
- Being on Puma makes us even more "default Rails"-compliant since it is the default Rails web server these days.
Pow is what we use for development on our local machines. It's easy to setup, and easy to maintain since it also eliminates the need for maintaining a /etc/hosts file.