私はAzure関数を実装することを検討しているコードをいくつか持っています。メモリの制限と関数の規模についての質問/懸念があります。Azure関数 - スケーリングとメモリの制限
ハイエンドでは、アプリケーションは1回の実行で約800 MBのメモリを使用する可能性があるため、使用できる最大メモリが1536 MBであれば、メモリ不足なしに1回の同時実行しかできません。
私の理解では、x同時実行では最大10個のインスタンスが存在することができますが、最大容量では実行が1時間しか実行できない場合は、タイムアウトせずに実行することができます。最大同時実行数は1になり、最大10個のインスタンスに自動的に拡大されます。
もしそうなら、それはほとんどの実行がこれよりもはるかに少ないメモリを必要とすると思いますので、一種のバマーです。
これはファイル操作関数なので、入力ファイルのサイズに基づいてどれくらいのメモリを使用するかについて合理的に正確に推測できるため、バックエンドを再構成して入力サイズに基づいてさまざまなキューを作成すると、私はハイエンドのものに対して1つのキューを持つことができます(1インスタンスにつき1回の実行しか許されません)。そして、それを他のサイズのキューに分割し、最大並列インスタンスを手動で調整します。
可能な限り多くの実行= 1制限されていない機能として、1MB未満のファイルの場合は1キュー。
1つのキューは1mb~10mbの入力ファイルであり、20回の同時実行に制限されています。 など
それよりも多くの作業が必要なように感じますが、あまりにも痛みではありません。
これは賢明なアプローチのように見えますか、それとも簡単な方法ですか?
どのようにして同時実行数を制限しますか。背景の説明の