2017-05-02 4 views
0

Azure AppServicesでホストされているASP.NET MVC5 Webサイトがあります。Azure AppServicesでのASP.NET MVC Webサイトのパフォーマンスの問題

Azureには、テスト用に1つ、プロダクション用に1つ、このサイトの2つの異なるインスタンスがあります。

この2つのインスタンスは異なるAzureプランに含まれていますが、各インスタンスで考慮されるすべてのサービスは同じ地域(西ヨーロッパ)にあります。

最初のものは許容される方法で動作するようですが、第2ページ(15〜30ページの読み込み時間になることがあります)の一部のページを読み込むパフォーマンス上の問題に直面しています。

我々のアプリケーションインスタンスの各々はで構成されている:

  • (FormsAuthenticationと共に)ASP.NET MVC 5
  • N-階層アーキテクチャ
  • EntityFramework 6.1.3
  • ApplicationInsightsサービス
  • Azure SQLサービスにある2つのSqlServerデータベース(ビジネスデータの場合は1、セキュリティデータの場合は& 1)

使用されるAzure計画は、AppServicesでは「基本(小)」、SqlServicesでは「S0標準(10 DTUs)」です。 1つ目はCPUが5%、メモリが58%です。 2番目はDTUの約3%を実行しています。

AppInsightsでは、「すべてがコントローラでOKです」ということがわかりました。 私はまた、問題がSql依存関係の呼び出しに失敗した(結果コード207で)ページロードを検出しました。

Sqlリクエストの応答時間も別々にOKです(300ms未満)。

もちろん、Azureのパフォーマンスに関する多くの記事は既に読んでいますが、私たちを助けてくれたものはありません。

本当にありがとうございます。 多くの感謝!

答えて

1

Application Insightsでプロファイラを有効にします(これまでのところ、https://azureserviceprofiler.comの下にあったものと同じもの)。今度はのパフォーマンスブレードの下にあります。

ストレステストでは、ETLトレースを十分に収集できるほどの時間がかかります。時間が費やされている場所の包括的な図を描くことができます。小さな "トレース" アイコンがあなたのコントローラの隣に利用できるようになります:

traces

+0

こんにちは@evilSnobu、 あなたの迅速な答えをありがとう:

Profiler

結果は次のようになります。 私はこのツールをまだAzureで見ていませんでしたが、これは実際には非常に便利です。 しかし、24時間使用した後、応答時間が約300msの3つの操作だけが、あなたが言ったように「トレースアイコン」を表示します。 SSo私はこの情報を現時点では使用できません。 特定の操作のETLを収集するためにこのプロファイラを強制する方法を知っていますか? (なぜ私の場合は、私の場合、この3ページだけがアイコンを持っていて、プロファイラが起動されてから壊滅的な応答時間を示す他の操作ではないのですか?) – Banov

+1

これはApp Insights製品グループの質問です。 https://github.com/Microsoft/ApplicationInsights-Home/issuesで問題を開いたり、コメントを投稿してみてください。https://docs.microsoft.com/en-us/azure/application-insights/app -insights-profiler。または、Azureポータルからサポートケースを開いて、この質問に戻るリンクを提供してください。 – evilSnobu

+0

はい、マイクロソフトの問題について既にマイクロソフトにサポート要求を提出しています。 再度お返事ありがとうございます – Banov

関連する問題