2016-12-12 2 views
0

私は単純なものがエンティティ、更新とエンティティを追加する、エンティティを削除する、エンティティを検索する単純なCloud Endpoints Restful APIを持っています。Google App Engineインスタンスが処理できるリクエストの数はいくつですか?

私の質問は、1つのGoogle App Engineインスタンスが処理できるトラフィックの量ですか?つまり、別のインスタンスが必要になるまでにいくつのAPIリクエストが必要ですか? (:512メガバイト、CPUの限界:2.4 GHzのメモリ)

そして、私はまた、これは答えるのが難しい質問かもしれ知っているが、シンプルを与え

は、私はそこにinstance classesがそうちょうどデフォルトB4 1を使用してみましょう異なっている知っています私は上記のAPIを使用して、誰かがインスタンスの処理できる平均リクエスト数を教えてもらえますか(私はmemcacheやその他の最適化を使用していないと仮定しましょう)。

私はちょっと混乱しているので、特定のドキュメントへのリンクも大いに役立ちます。

ありがとうございました!

+0

私はあなたにこれについての回答があるとは思わない。それは、あなたが何をしているのか、そして2.あなたがパフォーマンスをどれだけ気にしているのかによって異なります。 – natario

+0

「あなたは別のインスタンスが必要ですか?」と正確に何を意味していますか? –

+0

https://cloud.google.com/appengine/pricing –

答えて

2

GAEは動的にサービスを自動または基本的なスケーリングのためではなく、手動でのスケーリングのために設定されている場合にのみ、自動的に複数のサービスインスタンスを起動します。

Scaling dynamic instancesから:App Engineのスケジューラは、保留中の要求キューに要求を入れ、既存のインスタンス(アイドルであるか 同時要求を受け入れ、1のいずれか)で、それぞれの新しい要求にサービスを提供するかどうかを決定

、その要求の新しいインスタンスを開始してください。決定は、アカウント にあなたのアプリケーションが要求を務めて たどのように迅速に利用できるインスタンスの数、(そのレイテンシー)を取り、そしてどのくらいの時間が 新しいインスタンスをスピンアップするのにかかります。

各インスタンスには、着信要求用の独自のキューがあります。 App Engineは、各インスタンスのキューで待機しているリクエストの数を監視します。 App Engineは、アプリケーションのキューが増加による負荷に 長すぎる取得していることを検出した場合は、自動的にその負荷を処理する アプリケーションの新しいインスタンスを作成します。

実際の動作は、それぞれのスケーリングモードの構成パラメータによって異なります。Change auto scaling performance settingsおよびScaling elementsを参照してください。そして、もちろん、あなたのアプリケーションコードがこれらの要求にどのくらい正確に反応するかについて。正確な数字を得ることは不可能ではないにしても非常に困難です。

しかし、あなたが行うことができます実際にそれを測定しようとすることです:あなたが見ながらテスト・プログラムは、要求の代表的な種類で、徐々に増加し、要求負荷で、あなたのアプリにアクセスしている、2つの別々のブラウザウィンドウで:

  • (新しいインスタンスが開始されたことを示す情報メッセージを伴う要求ログを探したり、インスタンスページをチェックして)
  • ダッシュボードのサマリーに関連する画面が表示されますインスタンスが開始されたときのアプリケーションの統計情報

アプリのrequest logsにチェックを入れて、処理の程度を確認することもできます。それらの中には、StackDriverでのappstatsのようなトレースを見ることさえできます。 appstatsを有効にして、のすべての数字を取得することもできます。お客様のリクエスト。

これらの図から、「インスタンスが処理できる」という前提に基づいて、今回はインスタンスが要求キューの深さが絶えず増加するのを防ぐために十分に高速に処理できることを前提としていますインスタンスが強制終了されます(これは、新しいインスタンスの動的な起動を引き起こすレベルよりもはるかに高い負荷レベルと思われます)。

たとえば、でのリクエストの1つのタイプを処理する場合、はF1インスタンスでほとんど50ms以下の時間を費やします。 threadsafe: trueが設定されているので、一部のリクエストの処理が重複する可能性があります(どのくらい - 私は全く考えません)。だから私は、F1インスタンスが72000の要求のを1時間あたりの上に処理できると推定できます。しかし、私も平均1秒かかるという要求があります。同じインスタンスでは、1時間に3600件の要求しか確実に処理できません。あなたが参照してください球場値は本当に多くの意味をしません。彼らはあるので、ダッシュボードの数字は、推定よりも優れているIMHOの測定値は、アプリケーションの要求の種類とその実際取り扱いの本当範囲/スプレッド全体で平均理由です

。たとえば、マルチスレッドのゲインが含まれます。

+0

私は見る...あなたが言ったことの多くはすでに読んでいますが、1つのインスタンスで処理できるリクエストの数(たとえば1でのマニュアルスケーリング)の問題に実際には答えていません。それは5,000 apiのような1時間の呼び出しですか?または何? (ちょうど一般的にあなたに叫んではいない)。そして、時には新しいインスタンスが生成され、私が見つけた理由がないので、ダッシュボードを見るだけでは十分科学的ではないかもしれません。しかし、書いてくれてありがとう。私はそれを把握し続けるつもりです。 – Micro

+0

測定は科学的で、たとえ器具の精度が悪い場合でも –

+0

ポイントは私が大体の笑を探しています。他の誰かが同じことを考えていることを願っている。 – Micro

関連する問題