Unicorn (web server)
|Original author(s)||Eric Wong|
|Initial release||March 11, 2009|
5.5.0 / March 4, 2019
Unicorn uses a master/worker architecture, where a master process forks to worker processes and control them. The application runs in a single thread.
Reception and use
Unicorn inspired other projects like Gunicorn, a fork to run Python applications.
As of 2018, projects tend to favour Puma. The Heroku hosting provider recommends since 2015 to migrate from Unicorn to Puma.. Deliveroo published a benchmark comparing the two servers and concluded “Puma performs better than Unicorn in all tests that were either heavily IO-bound or that interleaved IO and CPU work”, but that Unicorn was still slightly better performing in pure CPU situations.
- Fulton, Hal; Arko, André (11 February 2015). The Ruby Way: Solutions and Techniques in Ruby Programming. Addison-Wesley Professional. p. 566. ISBN 978-0321714633.
- Bylina, H.N. (2014). Ruby Programming Language. Ruby on Rails framework (PDF). XX International conference for students and young scientists «MODERN TECHNIQUE AND TECHNOLOGIES». Tomsk: IOP Publishing.
- "Unicorn Power". 30 March 2010.
- "Why did you move to runit + Unicorn". February 2015.
- "How GitLab uses Unicorn and unicorn-worker-killer". GitLab. 5 June 2015. Retrieved 14 April 2018.
- "Puma is Now the Recommended Ruby Webserver". 23 January 2015.
- Pavese, Tommaso (21 December 2016). "Unicorn vs Puma: Rails server benchmarks".