2011-01-19 7 views
0

私はHerokuでホストされているレールアプリと通信するiPhoneアプリケーションに取り組んでいます。私はどのように私は一度に1つの操作を実行することができます理解して(例えば、データベース内の選択を実行する)理解してから: dynoは10から100までの同時リクエストを処理できます。携帯からのHerokuリクエスト

電話機の接続が低い場合、リクエストに時間がかかる場合がありますが、これがサーバーにどのような影響を及ぼしますか?

私は、より多くのdynoが必要なので、より多くの同時リクエストが存在すると思われます。 しかし、それは必要な労働者数に影響を与えるべきではありませんか?

5Moの制限を除いて、標準データベースはどうでしょうか、10から100同時のリクエストでは遅すぎますか? (各5MOデータベース未満に非常に単純な 選択を実行する?)

おかげで、 ヴィンセント

答えて

1

それは、単一のダイナモはシングルスレッドであるので、あなたの応答時間あれば(ここでは新しいレリックを使用する)ことを覚えておくことが重要ですあなたは(理論的に)1つのdynoで5秒間に5つの要求を処理できる200msと言います。 dynosを増やしてもパフォーマンスは向上しません。スループットが向上します。最近、広告の後で急速にアプリケーションを拡張し、約45 dynos(恐らく過剰スキル)で実行する必要があり、約5600件のリクエストを約100件秒をリクエストします。また、dynoが使用中(長時間実行中のリクエスト、アップロードなど)に保持されている場合、処理する追加のdynosがない場合、リクエストはキューに入れられ、そのキューは30秒後にタイムアウトになります。

私たちは20Gbデータベースを使い果たしており、DBレスポンスタイムには驚くほどの数字があります。もちろん、このサイトではMemcachedレイヤーを使用しています。

+0

ご報告いただきありがとうございます。あなたの言うことを理解すれば、多くの人がモバイルナビゲータや低接続からあなたのアプリにアクセスすると、他のすべてのユーザーをブロックするでしょうか? – vdaubry

+0

dynoが依然として低速の読み込みクライアントにコンテンツを提供していて、本質的にビジーであれば、それは想定するのが安全だと思います。探索の価値があるかもしれないバックログに対処するために、ダイノーカウントをオン/オフで増減できる「自動スケーリング」宝石があります。 –