Software:Unicorn (web server)
Original author(s) | Eric Wong |
---|---|
Developer(s) | Unicorn developers |
Initial release | March 11, 2009 |
Stable release | 6.1.0
/ December 25, 2021[1] |
Repository | bogomips.org/unicorn.git |
Written in | Ruby |
Operating system | Cross-platform |
Available in | English |
Type | Web server |
License | GPLv2+ or Ruby 1.8 |
Website | {{{1}}} |
Unicorn is a Rack HTTP server to serve Ruby web applications on UNIX environment. It is optimised to be used with nginx. It is based on now deprecated Mongrel 1.1.5 from 2008.
Architecture
Unicorn uses a master/worker architecture, where a master process forks worker processes and controls them. The application runs in a single thread.[2]
Reception and use
Unicorn was considered as “one of the most popular servers for Rails”.[3][2]
Twitter started to test Unicorn in 2010.[4]
This server is shipped with Discourse. Their system administrator Sam Saffron noted Unicorn was reliable, as it reaps unresponsive workers.[5]
Unicorn inspired other projects like Gunicorn, a fork to run Python applications.
As of 2018, projects tend to favour Puma.[6] The Heroku hosting provider recommends since 2015 to migrate from Unicorn to Puma.[7] 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.[8] GitLab switched to Puma from Unicorn in 2020.[9]
References
- ↑ "unicorn repository". https://bogomips.org/unicorn.git. Retrieved 25 April 2022.
- ↑ 2.0 2.1 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". XX International conference for students and young scientists «MODERN TECHNIQUE AND TECHNOLOGIES». Tomsk: IOP Publishing. http://earchive.tpu.ru/bitstream/11683/20842/1/conference_tpu-2014-C01-V2-141.pdf.
- ↑ "Unicorn Power". 30 March 2010. https://blog.twitter.com/engineering/en_us/a/2010/unicorn-power.html.
- ↑ "Why did you move to runit + Unicorn". February 2015. https://meta.discourse.org/t/why-did-you-move-to-runit-unicorn/25313.
- ↑ "Category: Web Servers" (in en). https://www.ruby-toolbox.com/categories/web_servers.
- ↑ "Puma is Now the Recommended Ruby Webserver". 23 January 2015. https://devcenter.heroku.com/changelog-items/594.
- ↑ Pavese, Tommaso (21 December 2016). "Unicorn vs Puma: Rails server benchmarks". Deliveroo.engineering. https://deliveroo.engineering/2016/12/21/unicorn-vs-puma-rails-server-benchmarks.html.
- ↑ "How we migrated application servers from Unicorn to Puma" (in en). https://about.gitlab.com/blog/2020/07/08/migrating-to-puma-on-gitlab/.
External links
Original source: https://en.wikipedia.org/wiki/Unicorn (web server).
Read more |