2

この質問は、heroku でのスケーリングに関する以前の質問のフォローアップです。私が気付いたのは、自分のアプリを使用すると、それほどスムーズに感じられないということです。YSlow のようなプラグインを使用したところ、HTML の生成にサーバー側で多くの時間が費やされていることが一貫してわかりました。New Relic は、ここに示すように、私のアプリがリクエスト キューイングで多くの時間を費やしていることを示しているようです。

NewRelicGraph1

そしてここ:

NewRelicGraph2

ただし、次の情報も表示されます。

NewRelicGraph3

これは、サーバーでの 10.7 ミリ秒の処理時間と、ユーザーが経験している 1.3 秒の応答時間との間には、非常に大きな違いがあるように思えます。これは何を意味するのでしょうか?ユーザーの待ち時間を短縮する最善の方法は何ですか? (繰り返しますが、私は完全な初心者であり、すべての助けに感謝しています)

4

1 に答える 1

1

unicorn を使用するように変更する必要があります。これは Cedar スタックでのみ機能します。それは、もう購入することなく、本質的により多くのdynoを提供します.

方法の簡単な概要:

Gemfile で:

gem 'unicorn'

Rails.root/config/unicorn.rb を作成します

worker_processes 4 # amount of unicorn workers to spin up
timeout 30  # restarts workers that hang for 30 seconds

Rails.root/Procfile を作成する

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb

コミットしてherokuにプッシュしてから、調整する必要があります(worker_process番号で実験してください)。dyno ごとにメモリ制限があります。あまりにも多くのワーカーがあり、その制限に達すると、dyno はクロールまで遅くなります。


詳細については、こちらの記事を参照してください。

于 2012-07-25T22:46:31.753 に答える