ASP.NET网站:页面加载延迟

时间:2009-08-25 08:35:54

标签: asp.net performance deployment

我有一个在ASP.NET 2.0中开发的Web应用程序,部署在数据中心。该应用程序是一个带CMS的媒体门户。

应用程序托管在Windows Server 2008中,数据库是Windows 2003服务器中的SQL Server 2005。

我的主页上有很多链接到子页面或文章的链接。当我点击主页中的任何链接时,它会在article.aspx中加载页面的内容。我的问题是渲染article.aspx页面的延迟。

状态栏显示加载新页面的进度。但是,在显示页面加载完成进度后,实际页面呈现在几秒钟​​后(20-30)发生。完成浏览器状态栏中的进度条后,浏览器会保留显示当前页面,如果状态栏显示左侧显示“完成”消息。在20-30秒后,浏览器会显示所需页面( article.aspx)

最初速度很快,并且在托管一年之后,性能几乎下降了。请指导我这里发生的事情。我是否需要使用IIS或DB检查任何内容。

提前致谢

4 个答案:

答案 0 :(得分:2)

您必须检查它是数据库还是代码。

我同意罗伯特并怀疑这是由于数据库。你可以使用sql profiler找出出错的地方。

如果数据库不是罪魁祸首那么你必须使用某种分析工具来检查出了什么问题。

由于frogbot建议asp.net跟踪是一种方式。

你也可以使用FireBugYSLOWPagespeed作为firfox插件来帮助你。

RedGate's Ant Profiler非常好,但不是免费的。

答案 1 :(得分:0)

您是否有任何Ajax或其他javascript代码在客户端运行时呈现内容?这将在页面加载后发生。

答案 2 :(得分:0)

听起来你的页面加载会转到数据库中获取数据,例如你填充网格和一些下拉菜单。随着数据库中数据的增加,查询的运行时间越来越长,因此页面加载速度也越来越慢。

也许主机现在在相同的服务器上托管了更多站点和更多数据库,这也影响了站点。

可能只有一段不好的SQL需要20-30秒才能完成。

网络问题。

答案 3 :(得分:0)

您需要启用跟踪以查看错误。查看文章here。如果您发现它是数据库问题,请使用SQL Server Profiler。