2016-09-08 1 views
1

私は比較的新しいasp.netとIISのことですが、私は他のテクノロジを使って多くのアプリを作っていますが、エンティティのフレームワーククエリは初めて接続して実行するには時間がかかります

マシンにASP.NET MVC 5.0アプリケーションをホストするすべての必要な仮想マシン(IIS 7)とデータベースをホストするためにSQL Server 2014をホストする別のマシンをAzureでラボをセットアップしました。最初のコード。

データベースからテーブルのレコードをリストするページを開くときに、クロムブラウザや他のブラウザからウェブサイトを開くときに初めて15秒かかることがあります。それは全く時間がかからないウェブサイトです。ウェブサイトを10分ほど残して戻ってくると、問題は再び発生し、もう一度15秒かかります。どうやら

model.Workflows.ToList(); 

:撮影した時間のほとんどは非常に単純なクエリ、アプリは例えば、データベースに触れた最初の時間に費やすあり、問題にし、パフォーマンスのプロファイリング後より深く掘る

SQLサーバーへの接続は、ほとんどの時間を費やしています。最初の15秒は受け入れるために多くの時間ですが、私はどのアプリケーションでもこのような遅延を見たことはありません。

オブジェクトグラフはわずかですが、わずかな数のレコードを含む12個のテーブル、一部のテーブルのレコードもありません。たとえば、ワークフローテーブルには2つのレコードしかありません。関係はそれほど複雑ではありません。

私は、SqlConnectionクラスを使用してエンティティフレームワークなしで接続しようとしましたが、最初は4秒かかっていましたが、はるかに優れていますが、まだ間違っています。

+1

[Entity Framework Code-Firstが起動時に遅すぎる]の可能な複製(http://stackoverflow.com/questions/28338613/entity-framework-code-first-to-slow-at-startup) –

答えて

0

同じ問題に直面している人たちのために、私はraderickや他の多くのリソースによって提供されるリンクを含む、運が全くない多くのポストされたソリューションを試しました。

唯一のことは、Windows Server 2008 r2(IIS 7.5)をWindows Server 2012 r2(IIS 8.5を使用)に更新することです。それは、Entityフレームワークではなく、IISのパフォーマンス(多分私のテストラボ)に関係するようです。

Windows Server 2012 r2内のIIS 8.5には非常に便利なオプションがありますが、このリンクをポイント7(アプリケーションプールのサスペンド)で調べると、私の場合はパフォーマンスが大幅に向上しました。

http://www.infragistics.com/community/blogs/brijmishra/archive/2015/08/21/12-tips-to-increase-the-performance-of-asp-net-application-drastically-part-2.aspx

私はそれが最初のオプションのソリューションではありません知っているが、それはいくつかのケースで役立つことがあります。

関連する問題