search.aspx页面返回速度较慢



我有一个asp.net网站,有一个searchResult.aspx,它运行一个sql脚本从MS sql server数据库中检索数据,然后将数据放入HTML格式,该网站已部署在IIS7.5 server中。我实现了静态和动态压缩,这意味着我所有的js、css和aspx页面在呈现到浏览器之前都经过了压缩。

不幸的是,searchResult.aspx的返回速度很慢,如果搜索一个大单词,比如传记,平均需要10秒以上才能返回。我用firebug Net来跟踪它,阻塞、DNS查找、连接和发送都不超过10ms,但等待需要10秒以上。因此,我在函数Page_Load(object sender,EventArgs e)的开头和结尾以及HTML主体元素的开头和末尾添加了一些代码,如下所示:

   protected Stopwatch stopwatch = new Stopwatch();
   protected void Page_Load(object sender, EventArgs e)
    {
        stopwatch.Start();
        ....
        stopwatch.Stop();
        timeForSearch = stopwatch.Elapsed.Milliseconds;
     }

    <body>
      <%
       stopwatch.Reset();
        stopwatch.Start();
       %>
       ....

      <%stopwatch.Stop();%>
 <%=timeForSearch%>+<%=stopwatch.Elapsed.Milliseconds%>=<%=stopwatch.Elapsed.Milliseconds + timeForSearch%>

好的,通常搜索的时间和填充aspx页面的时间总共是1秒,但为什么页面加载需要10秒以上,任何帮助都将不胜感激。


感谢您的回复,aspx页面已经gzip到8.2KB.不是一个大文件

尝试将@Page指令的Trace属性设置为true。

<%@ Page ... Trace="true" %>

在"跟踪信息"部分,您将确定哪个页面生命周期事件需要更多的时间来执行,并可能帮助您进行调试。

您正在使用母版页吗?你的页面上有任何用户控件吗?用户控制事件发生在其父级的事件之后。即,UserControl.Init发生在Page.Init之后(但在Page.Load之前),UserControl.Load发生在Page.LLoad.之后

如果是这样,您可能需要调查这些控件中的Page_Load。

我想也许我修复了它,我禁用了IIS日志,然后搜索页面可以在3到5秒内加载,这似乎改进了很多。但我仍然认为禁用IIS日志是一个不错的选择。

相关内容

最新更新