Puma
Puma is a simple, fast, threaded, and highly concurrent HTTP server for Ruby/Rack applications.
Unicorn
A unicorn is a magical weaponized HTTP server for Ruby.
Others
Example |
---|
It uses less resources than unicorn but has more requirements to your code it better be thread-safe because puma is a threaded server from question OS X: Development & Production Deployment for RoR with Apache and Passenger |
Puma will tend to optimize itself by spawning more threads and its performance should range from no worse than unicorn in the pure cpu case to being vastly better than unicorn in the case of an app that sleeps a lot from question What do multi-processes VS multi-threaded servers most benefit from? |
For example it looks like unicorn is a better choice on heroku than puma from question Memory quota exceeded in my heroku deployed rails app |
Puma can spawn many workers and each worker can use many threads to process the request;unicorn does not have threads as far as i know it just has the worker model from question What is the difference between Workers and Threads in Puma |