Upgrade to Pro — share decks privately, control downloads, hide ads and more …

... but we had to kill Unicorns

... but we had to kill Unicorns

Presentation delivered by Grzegorz Witek (@arnvald) and Simon Kröger (@kroegerberlin) on annual european Ruby conference (EuRuKo 2013) in Athens.
The topic of the presentation is a case study, where Sponsorpay developers team switched from Unicorn to multi-threaded server application to serve Ruby on Rails application using MRI 1.9.3.
These beautiful slides were prepared by Juan Vidal (@j2vidal). Thank you, Juan!

Grzegorz Witek

June 28, 2013
Tweet

More Decks by Grzegorz Witek

Other Decks in Programming

Transcript

  1. Unicorn - Wikipedia /ˈjuːnɪkɔːn/ “The unicorn is a legendary animal

    from European folklore that resembles a white horse with a large, pointed, spiraling horn projecting from its forehead”
  2. Unicorn “The unicorn is a legendary animal from European folklore

    that resembles a white horse with a large, pointed, spiraling horn projecting from its forehead” - Wikipedia /ˈjuːnɪkɔːn/ wrong!
  3. Unicorn “Unicorn is a single-threaded HTTP server for Ruby applications

    designed to only serve fast clients on low- latency, high-bandwidth connections” - Bogomips /ˈjuːnɪkɔːn/
  4. Grzegorz Witek Software Developer at SponsorPay @arnvald Simon Kröger VP

    Engineering at SponsorPay @kroegerberlin ...but we had to kill unicorns
  5. 3000 connections/s x 1s = 3000 parallel connections 3000 connections

    / 10 servers = 300 parallel connections/server
  6. Some people, when confronted with a problem, think, "I know,

    I'll use threads" - and then two they hav erpoblesm.