Tbpgr Blog

Recruiting Operations tbpgr(てぃーびー) のブログ

Unicorn | 基礎

概要

Unicornの基礎

詳細

概要

UnicornはRack対応けのWebサーバー。

今までのサーバーの問題点

・遅い動作
・メモリの肥大化
Monit等が肥大化した際にダウンタイムが発生
・遅いデプロイ
=>シャットダウン、デプロイの流れでダウンタイムが発生。
・遅い再起動
メモリの肥大化やタイムアウトがあると、再起動に時間がかかる。
・ロードバランシング
負荷のかかっているサーバーに振り分けてしまう可能性がある。

Unicornだと・・・

・遅い動作
=>遅いworkerを検知して新しいものにforkする
・メモリの肥大化
=>Monit等が肥大化した際にダウンタイムが発生しない
・遅いデプロイ
=>ダウンタイム無しでデプロイ可能
・遅い再起動
=>デプロイ同様
・ロードバランシング
=>準備の出来ているWorkerを選んでバランシングしてくれる

その他の特徴

・アプリケーションがスレッドセーフかどうかは問わずに各Workerを起動出来る
・ログローテーション機能
・コネクションを維持したままバイナリアップデートが可能
・シンプルで簡潔なRubyの内部DSLによる設定