web-dev-qa-db-ja.com

Azure Web AppのMaxConnections?

最大接続制限(つまり、同時にアクティブにできるHTTPリクエストの最大数)に達していると思われるAzureWebアプリがあります。

  1. Azure Webアプリケーションの同時Webリクエストの最大数をどのように変更しますか?

  2. Azureで接続キューを監視する方法はありますか?

7
user1142433

最初に確認すること:静的HttpClientを使用していますか?そうでない場合は、最初にそれを修正してから、負荷テストを再実行します。

簡単に言うと、maxconnection設定を変更する必要はありません。最大値は.NETのバージョンによって設定され、非常に高い数値です。ソケットが不足していると思われる場合は、負荷テストを実行して、SocketExceptionsの数を測定する必要があります。

リソースの制約について話しているので、非同期呼び出しも使用していますか?具体的には、WebAPIコントローラーで、コードベースのすべての依存関係まで非同期にします。

private static HttpClient Client = new HttpClient();

ベストプラクティスとして、 https://docs.Microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications)で説明されているように、HttpClientFactoryを使用してHttpClientインスタンスの存続期間の管理を処理することを検討する必要があります。/use-httpclientfactory-to-implement-resilient-http-requests

4
jchang1

負荷テストの結果は、Webアプリのhttpリクエスト数の制限を表すものではなく、負荷テストツールが1秒あたりのこれらのリクエストをシミュレートすることを示しているだけです。テスト結果は、同時顧客数、App Serviceプラン層、インスタンス数、URLなどの影響を受ける可能性があります。

これがテスト結果です(S1アプリサービスプランを備えたWebアプリ、250の同時顧客、URLは静的なhtmlページを指します)

enter image description here

CPUとメモリの使用量

enter image description here

上記のスクリーンショットから、負荷テストを実行している間、CPUとメモリリソースを少ししか使用していないことがわかりました。また、結果226.49 req/secは、Webアプリが処理できる実際のリクエストの最大数ではありません。

また、現在使用しているApp Serviceプランでアプリの要件を満たせない場合は、 App Serviceプランのスケーリング を試してください。

0
Fei Han

ここで、Webアプリの制限を確認できます。 Webアプリのサイズを大きくすると効果がありますか? https://docs.Microsoft.com/en-us/Azure/azure-subscription-service-limits#app-service-limits

また、WebアプリでアプリケーションインサイトとNew Relic拡張機能を使用して、着信トラフィックを監視し、ボトルネックに到達することもできます。

0
Rajan Bhayana