一台计算机上的ASP.NET应用程序比另一台计算机(在IIS中)上的时间长

本文关键字:计算机 一台 IIS 时间 ASP NET 应用程序 | 更新日期: 2024-09-21 11:26:04

我有一个在IIS中运行的ASP.NET应用程序。第一次调用应用程序时,有时可能需要很长时间(例如80秒),而第二次调用则非常快

我知道这与应用程序首次启动有关,可能需要收集资源等。然而,问题是,我可以在另一台机器上运行相同的应用程序,第一次调用的加载时间要短得多。

所以我想知道机器上的哪些因素会影响这个加载时间?

感谢您的帮助

一台计算机上的ASP.NET应用程序比另一台计算机(在IIS中)上的时间长

我同意Steve的评论。仅供参考,每次应用程序池空闲一段时间时,对初始请求的响应都会很慢。你可以通过禁用应用程序池在空闲时关闭来解决这个问题。我认为默认时间是20分钟,这是IIS中的一个设置。

那么你只会在每次应用程序池回收时遇到问题。你可以阻止这种情况的发生,但我不建议这样做http://weblogs.asp.net/owscott/archive/2013/04/06/why-is-the-iis-default-app-pool-recycle-set-to-1740-minutes.aspx不时回收应用程序池可以保护您免受内存泄漏的影响。但是,您可以通过设置一个运行批处理文件的计划任务来主动启动应用程序池,以便在检测到应用程序池回收时向网站发出请求。

这样可以确保您的网站始终处于旋转状态,并且可以很好地满足每个请求。

ASP.NET仅在首次请求页面时编译。这意味着在第一次加载时,页面将被编译,然后显示。这可以通过遵循Microsoft的预编译说明来解决。

http://msdn.microsoft.com/en-us/library/ms227972%28v=vs.90%29.aspx

编辑:我意识到我没有回答你真正问的问题。

有几件事可能会影响第一次加载:

1) 您使用的浏览器可能无法有效显示页面上的内容类型(假设使用不同的浏览器)。

2) 如果机器不在同一个互联网连接上运行(即使它们的速度在wifi/以太网之间变化),这可能会影响整体速度。

3) 机器本身的规格可能会产生影响,浏览器仍然需要占用资源才能运行,因此速度更快的计算机可以更快地显示(尽管这不会产生巨大的影响)。

4) 您说该应用程序在IIS上运行,但没有指定它是本地(测试)服务器还是部署的服务器。如果是本地的,机器的规格会再次发挥作用,而且会以一种巨大的方式发挥作用。启动IIS服务器、部署应用程序,然后显示页面(当您单击在VS中运行或类似操作时会发生什么)可能需要非常不同的时间,具体取决于机器。