![1台あたり10,000人を捌くRails製Webサーバのチューニング - dely Tech Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/2148cc2c878c35a51b35cc8f790237c4edc6031b/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmotobrew%2F20170621%2F20170621213240.jpg)
インストール rails server で起動するデフォルトのサーバは WEBrick で実用レベルではありません。代わりに Unicorn を利用します。 # gem パッケージに含まれていなければ追加します % vi Gemfile ... gem 'unicorn' % bundle update 設定 config/unicorn.rb として設定ファイルを作成します。 worker_processes 2 stderr_path File.expand_path('../../log/unicorn/stderr.log', __FILE__) stdout_path File.expand_path('../../log/unicorn/stdout.log', __FILE__) pid File.expand_path('../../log/unicorn/unicorn.
先月、heroku の推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く