我们真的需要专家对IIS7的看法,我会尽力描述我们的问题。如果您需要更多信息,请告诉我,我会检索它。
我们有一个ASP.NET网站,它引用了几个.NET DLL,而且我们的客户表现非常出色!在我们自己的测试服务器上,相同的数据集需要25秒(仍然不快但这是另一个问题)而在我们的客户花了6分钟!
我在我能想到的每个可能的例程中写了日志,记录了它花了多长时间。它表明,在所有DLL的所有例程中,代码的处理只需要在我们的客户端上花费更长的时间。
为了进一步测试这个,我创建了一个桌面应用程序,它引用完全相同的DLL并在客户端运行它。那6分钟降到了...... 5秒!什么......?
我们浏览了IIS7中的所有设置并将其与我们的IIS7进行了比较......我们真的很难过,诚实地承认。客户端服务器的规格甚至高于我们的规格!
让我们放大问题。我们正在讨论一个实例化对象并设置3个属性的函数。没有数据库连接,没什么特别的,非常简单:
'Creates a GeneralPractitioner
Public Shared Function Create(ByVal gp As GeneralPractitionerTO) As GeneralPractitioner
'HACK Temporarily write to a logfile.
WebHISPortaalBLL.WriteToLo
g.WriteToLog(Now.ToString("dd-MM-yyyy HH:mm:ss.fff") & " BEGIN WebHISPortaalBLL.GeneralPractitioner.Create", String.Empty, "PerformanceTest")
'Check if parameter is not nothing.
If gp IsNot Nothing Then
'Create new instance of GeneralPractitioner and set properties in object initializer.
Return New GeneralPractitioner With {.ID = gp.ID,
.Name = gp.Name,
.AGBCode = gp.AGBCode}
Else
Return Nothing
End If
End Function
调用代码是LINQ查询,因此两者之间没有任何内容。现在看看差异。首先,我将在我们的测试服务器上发布一小段日志文件,看看毫秒。
我们的测试服务器上的这个方法:
24-11-2011 15:23:34.526开始 WebHISPortaalBLL.GeneralPractitioner.Create 24-11-2011 15:23:34.527 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create 24-11-2011 15:23:34.528 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create 24-11-2011 15:23:34.529开始 WebHISPortaalBLL.GeneralPractitioner.Create 24-11-2011 15:23:34.530 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create 24-11-2011 15:23:34.530 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create 24-11-2011 15:23:34.531开始 WebHISPortaalBLL.GeneralPractitioner.Create 24-11-2011 15:23:34.531 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create
客户端服务器上的相同方法:
25-11-2011 10:38:11.414开始 WebHISPortaalBLL.GeneralPractitioner.Create 25-11-2011 10:38:11.476 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create 25-11-2011 10:38:11.539 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create 25-11-2011 10:38:11.601开始 WebHISPortaalBLL.GeneralPractitioner.Create 25-11-2011 10:38:11.664 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create 25-11-2011 10:38:11.726 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create 25-11-2011 10:38:11.789开始 WebHISPortaalBLL.GeneralPractitioner.Create 25-11-2011 10:38:11.851 BEGIN WebHISPortaalBLL.GeneralPractitioner.Create
我们的测试服务器平均需要1毫秒(实际上是0.5毫秒)才能完成此任务,客户端的服务器平均需要62毫秒才能完成此任务!
为什么?
那里有没有人可以帮助我们?我们将不胜感激。任何东西。