2012-02-18 4 views
4

RailsアプリケーションをHerokuに入れました。起動時間が非常に遅いことがわかりました。私がこれを意味するのは、最初にHerokuのウェブサイト(ブラウザを使用して)に行くとインデックスページを表示するには時間がかかりますが、後でそのWebサイトを参照すると、通常の時間がかかるということです。私のRailsアプリケーションのスタートアップをベンチマークする方法は?

この「最初の」リクエストで何がすごく時間がかかるのかはどうしたらわかりますか?

答えて

1

あなたはあなたのdynoを支払っていないので、最初のdynoは一定の時間が経過するとアイドルになるので、これは正常です。唯一の1ウェブダイノを持って

http://devcenter.heroku.com/articles/dynos

アプリは、一定の時間後にアイドル状態になります。 Webダイノーはシャットダウンされます。空いているアプリにリクエストが入ると、あなたのWebダイノーは自動的にスピンアップされ、この最初のリクエストに対して数秒の遅延が生じます。後続の要求は正常に実行されます。

ウェブdynoが2つ以上あるアプリは、決してアイドル状態にはなりません。従業員のダイノスは決して空転しません。

あなたは何が起こっているか確認したい場合は、あなたが(あなたのインストールディレクトリから)コマンドを使用することができますが

Herokuのログ

それはあなたのサーバーのログを表示します。私のステージング環境には、

、(私のダイノが空転したとき)私は今問い合わせる場合、私は、ログ

2012-02-18T12:17:24+00:00 heroku[web.1]: Unidling 
2012-02-18T12:17:24+00:00 heroku[web.1]: State changed from down to created 
2012-02-18T12:17:24+00:00 heroku[web.1]: State changed from created to starting 

[.....] 
2012-02-18T12:17:42+00:00 heroku[router]: GET [...] dyno=web.1 queue=0 wait=0ms service=9ms status=200 bytes=0 

で見ることができます=>それは私の最初の要求を気力するのに約20秒かかりました。

+0

うわー、ありがとうございます:) –

関連する問題