最大接続制限(つまり、同時にアクティブにできるHTTPリクエストの最大数)に達していると思われるAzureWebアプリがあります。
Azure Webアプリケーションの同時Webリクエストの最大数をどのように変更しますか?
Azureで接続キューを監視する方法はありますか?
最初に確認すること:静的HttpClientを使用していますか?そうでない場合は、最初にそれを修正してから、負荷テストを再実行します。
簡単に言うと、maxconnection設定を変更する必要はありません。最大値は.NETのバージョンによって設定され、非常に高い数値です。ソケットが不足していると思われる場合は、負荷テストを実行して、SocketExceptionsの数を測定する必要があります。
リソースの制約について話しているので、非同期呼び出しも使用していますか?具体的には、WebAPIコントローラーで、コードベースのすべての依存関係まで非同期にします。
private static HttpClient Client = new HttpClient();
負荷テストの結果は、Webアプリのhttpリクエスト数の制限を表すものではなく、負荷テストツールが1秒あたりのこれらのリクエストをシミュレートすることを示しているだけです。テスト結果は、同時顧客数、App Serviceプラン層、インスタンス数、URLなどの影響を受ける可能性があります。
これがテスト結果です(S1アプリサービスプランを備えたWebアプリ、250の同時顧客、URLは静的なhtmlページを指します)
CPUとメモリの使用量
上記のスクリーンショットから、負荷テストを実行している間、CPUとメモリリソースを少ししか使用していないことがわかりました。また、結果226.49 req/secは、Webアプリが処理できる実際のリクエストの最大数ではありません。
また、現在使用しているApp Serviceプランでアプリの要件を満たせない場合は、 App Serviceプランのスケーリング を試してください。
ここで、Webアプリの制限を確認できます。 Webアプリのサイズを大きくすると効果がありますか? https://docs.Microsoft.com/en-us/Azure/azure-subscription-service-limits#app-service-limits
また、WebアプリでアプリケーションインサイトとNew Relic拡張機能を使用して、着信トラフィックを監視し、ボトルネックに到達することもできます。