2009-07-16 88 views
0

嗨,我已经在Windows 2003服务器上部署了我们的asp.net网站之一。为什么asp.net响应速度慢

当我请求默认页面时,总是会首先响应会话需要更多时间。我认为由于图像渲染/ CSS和JavaScript。

有什么办法可以尽快做出回应。同样在我的default.aspx中,我为每个Web部件使用6个Web部件和6个用户控件。

回答

1

对asp.net站点的第一个请求将触发站点编译。在visual studio 2005中引入了一些选项,允许您在部署前预编译站点,这样可以避免服务第一页的初始延迟。

本文详细介绍了第一次请求期间发生的情况。 http://www.odetocode.com/Articles/417.aspx

1

Web应用程序向IIS的第一次请求将总是需要更多时间,因为它必须启动应用程序并编译ASPX文件。它还必须执行代码来处理应用程序启动,例如Global.asax中的Application_Start。

你不能完全解决这个问题,但你可以通过预编译网站,在可能的情况下在后台进行初始化,并确保在web.config文件中将编译调试设置为false 。

1

如果我理解正确(而且我经常没有这样做),那么对ASP.NET应用程序的第一个请求必须将应用程序编译到CLI中,这需要比后续请求稍长的时间。图像和CSS/JS将对事物的方案产生最小的影响。

您可以尝试预编译或调整应用程序池设置以最大限度地减少影响(减少工作流程回收次数等),但是您将始终在第一次请求应用程序/页面时遇到此问题该应用程序启动。

除此之外,研究缓存,优化您的输出(例如,最大限度地减少HTTP请求的数量,服务器输出上的gzip压缩)。这将有利于您的最终用户。

如前所述,确保调试=“假”,在你的web.config设置,即

<compilation debug="false">...</compilation> 

这是惊人的差异这种小的变化可以做到的。