Azure App Service の ARM テンプレートには、負荷分散アルゴリズム - loadBalancing を構成する設定があります。ドキュメントによると、SiteConfig オブジェクトを介して利用でき、次の値を持つことができます: WeightedRoundRobin、LeastRequests、LeastResponseTime、WeightedTotalTraffic、RequestHash。
2 つのインスタンスを持つ Standard S1 アプリ サービス プランでいくつかのテストを実行しました。最初のインスタンスは遅延なしですべてのリクエストに応答し、2 番目のインスタンスは 3 秒の遅延ですべてのリクエストに応答し、ARR アフィニティはオフになりました。
テストでは、すべての設定が同じように実行されることが示されました。一定のランプアップ時間の後、すべてのリクエストが 2 つのインスタンス間で均等に分散されました。少なくとも LeastResponseTime については予期されていませんでした。これは直感的に、より多くのトラフィックを最初のインスタンスに向けることを想定しています (応答時間が短い)。
問題は、この設定が機能するかどうかです。もしそうなら、どのアプリサービス構成でそれが尊重されますか?