0

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

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

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

然而,在真实服务器上,无论是否是第一次调用,所有调用都需要 4000-5000 毫秒,这是无法忍受的。调用其他检索数据的方法显示相同的症状,并且在服务器上非常慢,但在我的机器上却很快。

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

我的机器运行 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 .

任何人都知道为什么数据检索性能在服务器上非常慢,但在我的机器上却没有?

4

0 回答 0