我在 Windows 2003 SP3 VPS 上使用 IIS6.0。
当我访问该服务器上的 ASP.Net 网站时,即http://website.example.com/加载需要一分钟。如果我加载一个只是 HTML 的标准网站,它会立即加载。
一旦站点在机器上的一个浏览器中成功打开,所有其他浏览器都可以立即打开该页面。
如果我离开它大约 30 分钟,我必须再次等待很长时间才能加载该站点。我已经在 3 个不同的 Internet 连接上的 5 台不同的机器上尝试过这个。每台不同的机器都必须等待站点加载,即使另一台机器已经打开它。
我正在测试的 ASP.Net 站点是单页的,没有实际代码。在 2Mb/s 连接上,该页面应在大约 0.25 秒内加载。
任何想法服务器有什么问题导致这种行为,我该如何解决?
编辑:
我对服务器进行了核对并使用新图像再次启动它。同样的事情发生在 2 个不同的 asp.net 网站上,它们在测试时都会立即加载到另一台服务器上。
我以前一直在这条路上,实际上并不是编译时间。这是由于 IIS 中的组件损坏所致。删除并重新安装 IIS 修复了它。在我们的案例中,我记得我找到了一个 Microsoft 技术说明来描述它。尝试搜索 MS。
一分钟的编译时间似乎很长……这是您自己的网站,您可以在其中分享有关源代码的更多信息。
站点的预编译可能是一个选项 - 您可以尝试运行 perfmon 以查看在编译时导致瓶颈的原因 - 您可能会发现它在构建站点时遇到了磁盘活动。你提到 VPS - 你的服务器是什么规格的?
这是由于页面的及时编译。请注意,如果您更改页面的代码,您将在编译页面时产生相同的延迟。
我在生产环境中的 IIS 上遇到了类似的应用程序无法使用的问题。具有一个应用程序池的单个 Web 应用程序运行速度极慢。
我只是在我的应用程序池的高级设置中将属性“启用 32 位应用程序”标志设置为 true,现在我可以运行 3 个具有 3 个不同应用程序池的 Web 应用程序。
更详细的说明在这里: http ://forums.iis.net/t/1189907.aspx/1