Cherokee vs Puma: What are the differences?
Cherokee: High-performance web server. Cherokee is highly efficient, extremely lightweight and provides rock solid stability. Among its many features there is one that deserves special credit: a user friendly interface called cherokee-admin that is provided for a no-hassle configuration of every single feature of the server; 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.
Cherokee and Puma can be primarily classified as "Web Servers" tools.
"The logo is cute" is the top reason why over 2 developers like Cherokee, while over 2 developers mention "Easy" as the leading cause for choosing Puma.
Puma is an open source tool with 5.78K GitHub stars and 987 GitHub forks. Here's a link to Puma's open source repository on GitHub.
What is Cherokee?
What is Puma?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Cherokee?
Sign up to get full access to all the companiesMake informed product decisions
What tools integrate with Cherokee?
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.