Asp.net 为什么内联网在我们的机器上速度如此之慢?

Asp.net 为什么内联网在我们的机器上速度如此之慢?,asp.net,iis,performance,Asp.net,Iis,Performance,我们在机器上使用IIS 5+Windows XP, 他们有2.6GHz、2GB内存的赛扬CPU 这些机器具有机器控制系统,控制系统将事件记录到数据库,我们希望显示机器使用情况、操作员登录等报告。 我们使用Windows XP和IIS 5,我们的应用程序是ASP.NET(3.5)。我们使用SQLServer2005Express和CrystalReports10.5进行报告 问题是,每当您在重新启动后或Web服务器处于较长时间的不活动状态后打开intranet页面时,页面都会花费大量时间做出反应,

我们在机器上使用IIS 5+Windows XP, 他们有2.6GHz、2GB内存的赛扬CPU

这些机器具有机器控制系统,控制系统将事件记录到数据库,我们希望显示机器使用情况、操作员登录等报告。 我们使用Windows XP和IIS 5,我们的应用程序是ASP.NET(3.5)。我们使用SQLServer2005Express和CrystalReports10.5进行报告

问题是,每当您在重新启动后或Web服务器处于较长时间的不活动状态后打开intranet页面时,页面都会花费大量时间做出反应,即10-30秒。当我打开一个显示报告的页面时,它也会延迟这么长的时间

在第一次长时间加载后查看页面时,它们会快速呈现

页面是预编译的(有点帮助,但不多),磁盘没有碎片,sql server反应很快(用其他应用程序测试)-我真的不知道原因是什么,但我想消除它,因为这对客户来说非常糟糕-等待半分钟以显示报告页面


为什么这么慢?我在php/mysql/iis上做了一些示例页面,速度非常快。。。我是否可以在机器重新启动时“预加载”所有intranet应用程序?如果没有任何帮助,我将制作一个简单的脚本,定期从Web服务器请求所有页面,这样它将被“预热”,但我认为这是一个愚蠢的解决方案(

我猜网站的应用程序池可能在第一次请求之前不会加载-这一次是让进程外主机进程开始运行并提供请求。

IIS在循环后需要几秒钟来编译每个ASPX页面。您需要创建一个预热脚本,以编程方式加载一些页面删除回收。脚本将导致延迟,因此您的用户不必这样做


这里有一个例子。它是针对SharePoint的,但概念是相同的,你应该能够适应它。

属于ServerFault,IMHO。为什么它不能与编程相关?他说PHP和其他脚本运行速度很快。“我如何在Ubuntu下安装PHP?”也与编程无关,尽管它与PHP有关。这是一个彻头彻尾的服务器故障问题。好吧,我很惭愧,我发现在web.config中为所有应用程序启用了调试。预热脚本也有帮助,并删除了一些http模块。如果一个简单的脚本从每个应用程序获取页面,它会有帮助吗机器重新启动?