
Azure にデプロイされた Web サイトのパフォーマンスはひどいです。負荷が増加すると、応答時間が数分にまで増加します。CPU 負荷はそれほど高くなく、40% 程度です (中規模のインスタンス (S2) を 1 つ実行しています)。
何度もデバッグした後 (原因がわかりませんでした)、リクエストがキューに入れられていることを示す「FREB」ログにようやく遭遇しました。
- AspNetStart データ1="GET", データ2="/profiel/aanvullen", データ3="" 13:48:44.279
- AspNetReqQueued 13:48:44.810
- AspNetReq がキューから削除されました 13:49:39.545
- AspNetAppDomainEnter Data1="/LM/W3SVC/xxxx/ROOT-1-xxxxx
Azure インスタンスはすぐに使用できるように「最適に」構成されているので、 や などの設定について心配する必要はないと考えていmaxconnection
ましmaxConcurrentThreadsPerCPU
た。このサイトではデータベースは使用されていませんが、2 つの異なる REST API を呼び出すため、そこでキューイングが発生すると考えていました。プロパティを確認してみましたwebrequest.ServicePoint.ConnectionLimit
が、200 万 (または最大 int だったかもしれません) のような数値が出力されたのを覚えています。
CPU 使用率が低いため、Azure は新しいインスタンスを起動せず、別のインスタンスが役立つとは思えません。
基本的に2つの質問があります:
- この原因は何でしょうか / 何を変えるべきでしょうか?
- これをデバッグするにはどうすればよいでしょうか? Azure には非常に多くのグラフと設定があります。必要な情報を正確にどこで確認すればよいかわかりません。帯域幅がボトルネックになっているのか、特定の Web サービスに対するオープン リクエストの数、その他の何かなど。