18

Heroku で静的 Web サイトをホストしたいのですが、何個の dyno から始めればよいかわかりません。

このページには次のように書かれています: https://devcenter.heroku.com/articles/dyno-requests dyno が処理できるリクエストの数は、使用する言語とフレームワークによって異なります。しかし、1つのdynoが一度に1つのリクエストしか処理しないこともどこかで読みました。

ここで少し混乱しますが、トラフィックが非常に少ない静的な Web サイトをホストするには、1 つの Web dyno で十分でしょうか (<1000 ビュー/月、<10/時間)? また、トラフィックが増加し始めたときの dyno の追加使用をどのように見積もるでしょうか?

質問の言い回しが正しいことを願っています。ご意見をお待ちしております。よろしくお願いします。

4

3 に答える 3

50

完全に有効な回答を削除してしまったので少し気分が悪くなりましたが、別の試みです。

Heroku dyno はシングル スレッドであるため、一度に 1 つのリクエストを処理できます。動的なページ (php、ruby など) がある場合、サーバーでページが応答するのにかかる時間を調べます。たとえば、応答に 250 ミリ秒かかったとすると、1 つの dyno が 1 秒間に 4 つのリクエストを処理できるとします。dyno を追加すると、パフォーマンスではなく同時実行性が向上します。したがって、2 つの dyno がある場合、このシナリオでは 1 秒あたり 8 つのリクエストを処理できます。

静的なページについてのみ話しているので、応答時間はこれよりもはるかに速くなるはずです。さらに必要かどうかを特定する最善の方法は、heroku ログ出力を見て、「queue」値のレベルが維持されているかどうかを確認することです。これは、dyno が追いつかず、リクエストが処理のためにキューに入れられていることを意味します。

于 2012-05-12T15:55:12.840 に答える
3

この状況で、1つのdynoにとどまる場合。1 つ目は無料ですが、2 つ目は月々の最低料金を超えており、コストが発生し始めます。

しかし、Heroku で 1 つの dyno を使用すると、最近アクセスされていないとアプリがスリープ状態になることも認識しておく必要があります (これは約 30 分だと思います)。その場合、再び起動するのに 5 ~ 10 秒かかる可能性があり、ユーザーの初期エクスペリエンスが非常に遅くなる可能性があります。

サイトに ping を実行し、応答をテストして起動状態を維持する Web サービスがあります。 たとえば、http://www.wekkars.com/ 。

于 2014-06-27T18:21:21.693 に答える
3

ほとんどのHTTP 1.1 クライアントは、リソースを要求するときに Web サーバーへの 2 つの TCP 接続を作成するため、2 つの dyno を開始すると、単一のクライアントでパフォーマンスが向上するのではないかと思います。そのため、クライアントのパイプライン化されたリソース要求もパイプライン化して処理できます。

単一のクライアントのパフォーマンスが (場合によってはわずかに) 向上するため、余分なお金を払う価値があるかどうかを判断する必要があります。

一度に複数のクライアントが情報を要求することが予想される場合は、追加のクライアントが少なくとも 1 つをすぐに利用できるようにするために、おそらく 2 つ以上の dyno が必要になるでしょう。

于 2012-05-11T23:29:17.990 に答える