数据检索性能奇怪的行为

时间:2013-01-24 12:45:06

标签: .net performance entity-framework

我有一个连接到WCF服务的MVC3 wep应用程序来获取它所需的数据。此WCF服务使用Entity Framework 5 Code First从MS SQL 2008 R2数据库获取数据。

我有一个从数据库获取数据的调用,它有很多包含数据,但数据库中的数据非常少。我在方法中添加了一个秒表,用于检索数据并记录实际数据检索所花费的时间。

在我的机器上,当我重新启动服务时,第一次运行该方法需要大约3500毫秒。我想这是因为EF会检查数据库一致性等等。此后的所有呼叫需要10-40毫秒,完全可以接受。

然而,在真实服务器上,所有呼叫无论是否是第一次呼叫都需要4000-5000ms,这是无法忍受的。调用其他检索数据的方法会显示相同的症状,并且在服务器上速度极慢,但在我的计算机上速度很快。

我能看到的机器和服务器之间的唯一区别是:

我的机器运行Windows7,有8Gb内存,安装了.NET framework 4.5,MS SQL Server 2008 服务器是运行Windows Server 2008 R2的虚拟机,具有专用的4 Gb RAM,安装了.NET Framework 4并运行MS SQL Server 2008 R2。

任何人都知道为什么数据检索性能在服务器上是如此极慢而在我的机器上却没有?

0 个答案:

没有答案