アプリに対して負荷テストを実行すると、非常に一貫した応答時間が表示されます。GAE に一定レベルの負荷がかかると、平均応答時間はどんどん短くなります。しかし、1 秒あたりのリクエスト数がはるかに少ない他のアプリでも同じ一貫性を保ちたいと考えています。それらでは、1 秒あたり最大 3 リクエスト以上をサポートする必要はありません。
ドキュメントを読むと、最小アイドル インスタンスの数を増やすと、より一貫した応答時間が得られるはずだと思います。ただし、その場合でも、GAE のスケジューラーがより多くのインスタンスが必要であると判断するたびに、クライアントの応答時間が長くなります。ユーザーがこれらの最初の遅いリクエストを表示しないセットアップを探しています。
アイドル状態のインスタンスの最小数を 1 に増やした場合、GAE が 1 つの常駐インスタンスのみを使用するようにします。負荷が増加すると、新しい (動的) インスタンスを起動してウォームアップする必要があります。それらがウォームアップされて初めて、GAE はそれらに要求を送信する必要があります。しかし、応答時間から判断すると、クライアント要求が起動されたときに動的インスタンスに到着するように見えます。その結果、これらのリクエストには長い時間がかかります (最大 30 秒)。
- これは、ウォームアップ コードが不完全な場合に発生する可能性がありますか?
- まだウォームアップされていないコード パスが含まれているため、動的インスタンスの最初の呼び出しが非常に遅くなる可能性はありますか?
負荷テスト中や十分な人数がアプリを使用している場合、この問題は発生しません。しかし、私のテスト環境は、朝など、誰もアプリを使用していないときは、クライアントが実質的に使用できません。
ありがとう!