Unicorn (web server)

Unicorn
Original author(s) Eric Wong
Developer(s) Unicorn developers
Initial release March 11, 2009 (2009-03-11)
Stable release
5.4.0 / December 23, 2017 (2017-12-23)
Written in Ruby
Operating system Cross-platform
Available in English
Type Web server
License GPLv2+
Website bogomips.org/unicorn/

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 Mongrel 1.1.5.

Architecture

Unicorn uses a master/worker architecture, where a master process forks to worker processes and control them. The application runs in a single thread.[1]

Reception and use

Unicorn was considered as “one of the most popular servers for Rails”.[2][1]

Twitter starts to test Unicorn in 2010.[3]

This server is shipped with Discourse. Their system administration expert Sam Saffron noted Unicorn was reliable, as it reaps unresponsive workers.[4] GitLab also uses Unicorn.[5]

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.[6]. 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 than Unicorn was still slightly better performing in pure CPU situations.[7]

References

  1. 1 2 Fulton, Hal; Arko, André (11 February 2015). The Ruby Way: Solutions and Techniques in Ruby Programming. Addison-Wesley Professional. p. 566. ISBN 978-0321714633.
  2. 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.
  3. "Unicorn Power". 30 March 2010.
  4. "Why did you move to runit + Unicorn". February 2015.
  5. "How GitLab uses Unicorn and unicorn-worker-killer". GitLab. 5 June 2015. Retrieved 14 April 2018.
  6. "Puma is Now the Recommended Ruby Webserver". 23 January 2015.
  7. Pavese, Tommaso (21 December 2016). "Unicorn vs Puma: Rails server benchmarks".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.