5

ドキュメント DB への出力に関連して、Azure Functions でスケーリングがどのように機能するのか興味があります。

基本的に、割り当てられたスループットを超えたために Document DB が 429 を返すとどうなりますか? 最低レベルの Azure 関数と最低レベルのドキュメント DB を組み合わせて、20 秒間に 1000 回関数を呼び出したときに、ドキュメント データベース コレクションに挿入された実際のドキュメントが 700 ~ 800 個しか表示されなかったためです。Document DB を同じ最低の Function レベルで最大まで拡大したところ、doc db コレクションで 700 ~ 800 のドキュメントしか受信しませんでした。ただし、最大でドキュメント db を使用して関数を最大までスケールアップすると、すべて 1000 になります。doc db を最小まで下げると、300ish しか得られませんでしたが、ドキュメントをロックしたように見えますがdb アカウントがアップしており、成功するまで挿入を再試行しています。

したがって、これがスケーリングであると混乱しているだけであり、機能やアプリのさまざまな側面をより適切に調整できるように洞察を得ることができれば.

4

1 に答える 1

6

はい、現在 429 で再試行し、DocDB 応答に従って推奨される時間を待機しています。現在、絶対的なタイムアウトがないため、再試行は完了するまで続行されます (これが予期される動作であるかどうかを今再確認しています)。

最初のシナリオで、スロットルが取り除かれるまで十分長く待った場合、最終的に 1000 個すべてが表示されますか?

これを再現してみたいのですが、関数を有効にする前に 1000 個のアイテムをキューに入れていますか? それとも別の呼び方ですか?

興味がある場合は、実行中の特定の再試行コードがこちらにあります: https://github.com/Azure/azure-webjobs-sdk-extensions/blob/master/src/WebJobs.Extensions.DocumentDB/DocumentDBUtility.cs#L36

于 2016-04-06T20:02:32.887 に答える