昨日、第17回目の ginza.rb ミートアップを開催しました。
Ginza.rb 第17回 二本立て!Rackサーバ比較&Awesome Ruby - Ginza.rb | Doorkeeper
Rackサーバ比較
Rackサーバに関する記事をいくつか読んで感想を話していたら1時間あっという間にたってしまった感じです。@y_yagi さんが Engin Yard さんの記事にあったベンチマーク(関連記事を参照のこと)を表にまとめておいてくれたお陰で捗りました。所感をまとめると
- Passenger 4 結構頑張っている
- 有料版によい機能が多い
- これが無料版にあれば…><
- unicorn & nginx はやはり安定している
- puma、早いしよさそうだけど unicorn や Passenger と比べると安定性に少し欠ける印象
- あとMRIで使うのなんかもったいない感じ
あとはもうじき公開される予定の Raptor について。Raptor は Unicorn の 4 倍、puma の 2 倍早いとうたっている、現在最も注目を集めているサーバです。具体的にどんな感じなのかは関連記事を読んでもらうとして、すごくざっくりまとめると
- nginx 的なフロントエンドのHTTPサーバと、unicorn 的なプロセスベースなアプリケーションサーバをまとめたもの
- 有料版はスレッドベースも対応する予定
- 速くするために機能を絞りまくっている
- gzip 圧縮や静的ファイル配信は未サポート
- いろいろチューニングがんばってる
と、こんな感じです。個人的にはスレッドベースのサーバはちょっと手を出しにくい気がしているので、プロセスベースで速い(らしい) Raptor にはとても期待しています。本当に速くてかつ安定しているのであれば、来年の今頃はみんな nginx + unicorn から Raptor に乗り換えている可能性もありますね。
バックエンドジョブ系の gem について
@y_yagi さんが、Rails 4.2 から導入される Active Jobs が対応している、バックエンドジョブ系の gem についてまとめてくれました。sidekiq や resque などの定番以外は尖った gem が多くて(postgres専用だったり、インメモリだったり)なかなかおもしろかったです。
資料はこちら。
次回
今年最後の ginza.rb ミートアップは、基本に立ち返ってソースコードリーディングで締めることになりました。spring を読む予定です。気になる方は Doorkeeper か facebookグループ に登録していただけると捗ると思います!
関連記事
- アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 [和訳] - Engine Yard Blog
- Enterprise - Phusion Passenger
- App Server Arena: Part 2, A Comparison of Popular Ruby Application Servers
- Part2 の性能比較のまとめ
- How we've made Raptor up to 4x faster than Unicorn, up to 2x faster than Puma, Torquebox
- Ruby - 「RaptorはどのようにしてUnicornの4倍、Puma, Torqueboxの2倍の速度を達成したのか」を読んでまとめてみた - Qiita