8

そのため、私はかなり長い間アプリエンジンを使用してきましたが、問題はありません。アプリがしばらく訪問者にヒットされていない場合、インスタンスがシャットダウンし、最初の訪問者がサイトにヒットすると、新しいインスタンスが起動するまで数秒の遅延が発生することを認識しています.

ただし、最近、インスタンスが非常に短い時間 (場合によっては 1 分未満) しか存続しないようです。1 つのインスタンスが既に稼働している場合、アプリの Web ページを更新すると、別のインスタンスが起動されます。 (そして、それが開始するページは最小限のホームページ HTML であり、多くの CPU/メモリを必要としないはずです)。ログを見ると、常に新しいインスタンスが起動していますが、以前はそうではありませんでした。

私が何を見なければならないか、またはなぜこれが起こっているのかについてのアイデアはありますか?

また、Python 2.7、スレッドセーフ、python_precompiled、ウォームアップ インバウンド サービス、NDB を使用しています。

アップデート:

そのため、アプリを少なくとも 1 つのアイドル状態のインスタンスを持つように変更しました。これで問題が解決することを期待していますが、1 つの常駐インスタンスが既に実行されているにもかかわらず、新しいインスタンスを起動しています。そのため、常駐インスタンスが 1 つしかない場合 (そして、私以外にトラフィックが発生していない場合)、アプリの別のページに移動すると、まだ新しいインスタンスが起動しています。

さらに、koma が指摘したように、Pending Latency を 1.5 秒に変更しましたが、それは役に立たないようです。

インスタンスのメモリ使用量は常に約 53MB です。これは、呼び出されたページがあまり機能していない場合には驚くべきことです。私は F1 フロントエンド インスタンス クラスを使用していますが、これには 128 という制限がありますが、いずれにせよ 53MB は本来の機能に対して高いようです。それは最初に起動するときに許容できるサイズですか?

更新 2:ダッシュボードで、過去 14 時間にリクエスト /_ah/warmup が 24 404 エラーで応答したことに気付きました。これは関連している可能性がありますか?404 応答ステータスで応答するのはなぜですか?

主な質問: (トラフィックがない場合でも) 新しいインスタンスを常に起動するのはなぜですか? 特に既存のインスタンスが存在する場合、なぜそれらはすぐにシャットダウンするのでしょうか?

4

3 に答える 3

4

これに対する私の解決策は、保留中の待ち時間を増やすことでした。

Web ページが一度に 3 つの ajax リクエストを起動すると、AppEngine は追加のリクエストのために新しいインスタンスを起動していました。最小保留待ち時間を 2.5 秒に設定した後、同じインスタンスが 3 つの要求すべてを処理し、スループットは許容範囲内でした。

私のプロジェクトにはまだ負荷やトラフィックがほとんどないため、Pending Latency を上げることに加えて、Pingdom でアカウントを開設し、Appengine プロジェクトに 1 分ごとに ping を実行するように構成しました。

両方の組み合わせにより、1 つのインスタンスが存続し、ほとんどの場合、すべてのリクエストに対応できるようになります。本当に必要な場合は、新しいインスタンスにスケーリングされます。

于 2013-01-17T11:09:57.327 に答える
1

1 つのアイドル インスタンスは、app-engine が次のユーザーのために常に追加のインスタンスを起動することを意味します。そのため、その設定で追加のインスタンスが起動されます。

アイドル状態のインスタンス設定を削除 (またはデフォルトを使用) し、保留中の待機時間を増やすだけの場合、余分なインスタンスを起動する前に「待機」する必要があります。

主な質問に関しては、@koma は、リクエストが同じセッションからのものであっても、デフォルト設定では app-engine が余分なインスタンスを起動する傾向があると言っているのかもしれません。

私の経験では、app-engine はトラフィックが多い状況では優れていますが、トラフィックが少ない状況では操作が難しく (そしてイライラすることもあります)。特に、実際に新しいインスタンスを起動する基準が何であるかのニュアンスを把握することは非常に困難です。

個人的には、「ウェイクアップ」cron ジョブを使用して、数分ごとにインスタンスを起動し、誰かがサイトにアクセスした場合にインスタンスを提供する準備ができていることを確認します。これは私の見積もりで食べるので理想的ではありませんが、私のアプリのトラフィックがかなり高いので、ほとんどの場合はうまくいきます.

于 2013-01-19T16:29:50.240 に答える
0

この種の問題は、2 月 4 日月曜日の午後 10 時頃に発生し始めたばかりで、現在も続いています。私が最初に気づいたのは、インスタンスの起動とシャットダウンが繰り返され、レイテンシが劇的に増加したことです。インスタンス スケジューラがアイドル状態のインスタンスをオフにする速度が速すぎたため、スラッシングが発生したようです。

最小アイドル インスタンスを 1 に設定してレイテンシを安定させたところ、うまくいきました。ただし、まだ新しいインスタンスのスラッシングがあります。このスレッドの推奨事項に従って、保留中の最小レイテンシのみを設定しようとしましたが、役に立ちません。最終的に、アイドル状態のインスタンスがオフになるのが早すぎます。その後、それらが必要になると、新しいインスタンスを起動しようとしている間にレイテンシーが急上昇します。

なぜあなたがこれを数週間前に見たのかはわかりませんが、私にとっては数日前に始まったばかりです. 新しいインスタンス スケジューラを段階的に顧客に導入したのでしょうか。インスタンスがすぐにシャットダウンするのはまだ見られませんか?

于 2013-02-07T02:06:25.450 に答える