aspx页面加载缓慢

问题描述:

我以前曾问过这个问题,似乎我没有100%解决它。请参阅链接 A search aspx page return slow,我禁用IIS日志,但它似乎仍然加载缓慢。aspx页面加载缓慢

我有一个asp.net网站,有一个searchResult.aspx,它运行一个sql脚本从MS SQL server数据库中检索数据,然后把这些数据转换成HTML格式,网站已经部署在IIS7中.5服务器。我已经实现了静态和动态压缩,这意味着我的所有js,css和aspx页面在被呈现给浏览器之前已经被压缩。

不幸的是,searchResult.aspx返回速度很慢,如果搜索一个像传记这样的大词,它平均需要超过10秒才能返回。我用firebug Net来追踪它,阻止,DNS查找,连接和发送全部不超过10ms,但等待超过10秒。所以我添加了一些代码,开始和功能的Page_Load(对象发件人,EventArgs的)的结束,也HTML body元素的开头和结尾,象下面这样:

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%> 

enter image description here

OK,你可以看到图片,突出显示的是经过的毫秒数,但为什么需要4.8秒才能加载。

任何帮助将不胜感激。

+1

你确定这个缓慢与你的数据访问逻辑没有关系吗? – mamoo 2012-03-27 06:12:53

+0

显示使用的SQL查询。你也使用gridview或其他数据控制? – PraveenVenu 2012-03-27 06:17:08

+0

使用SQL Server Profiler? – IrishChieftain 2012-03-27 13:40:35

好吧,我以为我发现搜索页面加载缓慢的原因,只是你所关心的,这是因为SQL脚本,之所以没有注意到它是因为代码错误,我用过在

stopwatch.Elapsed.Milliseconds 

其实我应该使用

stopwatch.ElapsedMilliseconds 

的区别它们之间是Difference between ElapsedTicks, ElapsedMilliseconds, Elapsed.Milliseconds and Elapsed.TotalMilliseconds? (C#)。最后,它告诉我,根据搜索词,我的Page_Load()方法有时需要超过5或7秒才能加载。

所以我需要改进sql脚本,因为它非常大,所以我不会写下来。无论如何,感谢你们所有人,我的灵感来自你的担忧。