0

WCFサービスに接続して必要なデータを取得するMVC3wepアプリケーションがあります。このWCFサービスは、EntityFramework5コードファーストを使用してMSSQL2008R2データベースからデータを取得します。

データベースからデータを取得する呼び出しが1つあり、多くのインクルードがありますが、データベース内のデータは非常に小さいです。データを取得し、実際のデータ取得にかかる時間をログに記録するメソッドにストップウォッチを追加しました。

私のマシンでは、サービスを新たに開始したときに、そのメソッドを最初に実行するのに約3500ミリ秒かかります。これは、EFがデータベースの整合性などをチェックするために何かを行うためだと思います。これ以降のすべての呼び出しには10〜40ミリ秒かかり、完全に受け入れられます。

ただし、実サーバーでは、最初の呼び出しであるかどうかに関係なく、すべての呼び出しに4000〜5000ミリ秒かかるため、耐えられません。データを取得する他のメソッドの呼び出しも同じ症状を示し、サーバーでは非常に低速ですが、私のマシンでは高速です。

私のマシンと私が見ることができるサーバーの唯一の違いは次のとおりです。

私のマシンはWindows7を実行し、8 Gbメモリ、.NET Framework 4.5がインストールされ、MS SQLServer2008サーバーはWindowsServer2008 R2を実行する仮想マシンであり、4 GbのRAM専用、.NET Framework 4がインストールされ、MS SQL Server2008R2を実行します。 。

サーバーではデータ取得のパフォーマンスが非常に遅いのに、私のマシンではそうではない理由を誰かが知っていますか?

4

0 に答える 0