GAE webapp のレイテンシーを最適化しようとしています。
アプリには 2 つのリクエストがあり、通常は次々に送信されます。
最初のリクエスト中に async db/memcache リクエストを開始し、その結果を次のリクエスト内で使用しても安全ですか?
(2 番目のリクエストが別のインスタンスにヒットする可能性があることは承知しています。キャッシュ ミスとして処理されます)
GAE webapp のレイテンシーを最適化しようとしています。
アプリには 2 つのリクエストがあり、通常は次々に送信されます。
最初のリクエスト中に async db/memcache リクエストを開始し、その結果を次のリクエスト内で使用しても安全ですか?
(2 番目のリクエストが別のインスタンスにヒットする可能性があることは承知しています。キャッシュ ミスとして処理されます)
あるリクエストで非同期 API 呼び出しを開始し、その結果を別のリクエストで取得することはできません。HTTP サービス インフラストラクチャは、HTTP 応答が送り返される前に、要求で開始されたすべての API 呼び出しが完了するまで待機します。非同期 API 呼び出しを表すデータ構造は、2 番目の要求では役に立ちません (同じインスタンスにヒットしたとしても)。
Appstats を試して、リクエストが行っている API 呼び出しを把握し、一部を回避できるかどうか、一部を memcache を使用するか、並列化できるかどうかを確認してください。
データストア API に memcache を統合する NDB を使用することもできます。