タグ

UnicornとRubyに関するlibero18のブックマーク (3)

  • 最近の Rack サーバ事情について - おもしろwebサービス開発日記

    先月、heroku推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ

    最近の Rack サーバ事情について - おもしろwebサービス開発日記
  • Unicornを同期的に再起動する - 昼メシ物語

    Unicornの再起動はシグナル(USR2等)を発行することで非同期的に行われるので、成功したのか失敗したのかがわかりづらい。 例えばCapistrano等でアプリケーションをデプロイしたあと、Unicornの再起動を行い、その再起動が成功か失敗かを判断したいことがある。 というわけで、 Unicorn を 同期的に restart するスクリプトを書いた。 使い方と仕組み 上記スクリプトを unicorn_restart.rb みたいな名前で保存し、以下のように Unicorn の PID ファイルを与えて実行します。 $ unicorn_restart.rb /tmp/unicorn.pidこれは以下のように動作します。 unicorn の master プロセスに USR2 シグナルを送る unicorn.pid.oldbin を監視し、再起動が終わるのを待つ 再起動が終わったら、

    Unicornを同期的に再起動する - 昼メシ物語
  • rbenv ruby-buildとunicornでもっとさくっとRedmine入れてみる - As a Futurist...

    前にこういう記事書いたんですけど、Redmine プロジェクトは結構活発でついこの間 1.4.0 がリリースされてました。なんと Ruby1.9 系へ対応!Gemfile も提供されるようになってよりインストールが簡単になってたのでかっとなってやってみました。ついでにこちらもだいぶ枯れてきた rbenv+ruby-build を使い、HTTP サーバとしては unicorn を使ってみました。 rbenv+ruby-build のインストール git は入っている前提ですが、超簡単です。 $ cd $ git clone https://github.com/sstephenson/rbenv.git .rbenv $ mkdir -p ~/.rbenv/plugins $ cd ~/.rbenv/plugins $ git clone https://github.com/sstephe

    rbenv ruby-buildとunicornでもっとさくっとRedmine入れてみる - As a Futurist...
  • 1