2017-07-12 24 views
2

私たちのアプリサービスプランがスケールアウトするときに、特定のウェブジョブのインスタンスの数を制限したいと考えています。私たちはNより数1より大きいが小さいnはにインスタンスの数を制限したい場合、私は助けるために任意のドキュメントを見つけることができませんsingleton instanceを持つ可能性を認識していなくなりスケールアウト時の晴天のwebjobのインスタンス数を制限する

アプリケーションサービスプランの合計インスタンス数はです。たとえば、私たちのアプリサービスプランは、4つのインスタンスを実行するように拡張できますが、最大2つのインスタンスのみが特定のWebジョブを実行することができます。

スケーリングのルールが異なる2つのアプリサービスプランがあることに気付いていますが、可能であれば、既存のプランでこれを処理したいと思っています。

背景:

我々はWebアプリケーションを持っており、ある閾値以上のCPU使用率が増加するにつれて、オートスケールに着手アプリサービスプランで実行webjobs。

私たちのwebjobsは、ではなく、特にではなく、非常にCPU集約的な 'バックグラウンド'処理タスクを実行します。多くのメッセージがキューに入っている場合、これらのwebjobsはほとんどすべての使用可能なCPUリソースを消費し、大規模なスケールアウトを引き起こします。シングルトンwebjobを使用すると、スケールアウトはピーク時にも1つの余分なインスタンスを追加するだけで、他のすべてのインスタンスは依然として応答性があります。これは、webjobsがキューをクリアするのに時間がかかりすぎる場合を除いては問題ありません。 Webjobsを実行している2つのインスタンスがわずかに速い処理時間を可能にするが、3つ目のインスタンスにCPU集約的なWebジョブを追加するのを避けるために、これをより良くバランスさせたいと思っています。

答えて

2

Azure Web Appは、アプリごとのスケーリングをサポートしています。ただし、プレミアムSKU Appサービスプランでのみ使用できます。アプリごとにスケーリングすると、アプリをホストするAppサービスプランとは別にアプリがスケーリングされます。こうすることで、App Serviceプランを10インスタンスに拡張できますが、アプリは5つしか使用できないように設定できます。

問題では、WebJobをホストするための新しいWebアプリケーションを作成することができます。

アプリごとのスケーリングの使い方については、下記のリンクを参考にしてください。

High density hosting on Azure App Service

+0

この返信で非常に感謝しています。それは、プレミアムアプリサービスプランで実行されている人には完全に質問に答えます。悲しいことに私たちは標準的なものです。私はここに新しい質問を追加しました:https://stackoverflow.com/questions/45143377/limit-number-of-instances-of-a-standard-azure-webjob-when-scaling-out標準的なアプリケーションサービス –

関連する問題