【发布时间】:2012-04-10 15:59:12
【问题描述】:
我以前曾问过这个问题,但似乎我没有 100% 解决它。请看链接 A search aspx page return slow,我禁用了 IIS 日志,但它似乎仍然加载缓慢。
我有一个asp.net网站,里面有一个searchResult.aspx,它运行一个sql脚本从MS SQL server数据库中检索数据,然后把数据转成HTML格式,网站已经部署在IIS7中。 5 服务器。我已经实现了静态和动态压缩,这意味着我所有的 js、css 和 aspx 页面在渲染到浏览器之前都已经被压缩了。
不幸的是searchResult.aspx返回很慢,如果搜索一个大词,比如传记,平均需要10多秒才能返回。我用firebug Net跟踪它,阻塞,DNS查找,连接和发送都不会超过10毫秒,但等待时间超过10秒。所以我在函数 Page_Load(object sender, EventArgs e) 的开头和结尾以及 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%>
好的,你可以看到图片,亮点是经过的毫秒数,但为什么加载需要 4.8 秒。
我们将不胜感激。
【问题讨论】:
-
您确定这种缓慢与您的数据访问逻辑无关吗?
-
显示使用的 SQL 查询。你还在用gridview还是其他数据控件?
-
使用 SQL Server Profiler?
-
嗨,mamoo,正如我所展示的,你可以看到,我使用秒表来计算整个 Page_Load() 函数消耗的时间,它只是几百毫秒,我也在我的开发中调试它环境,速度很快,所以我想我可以确认一下sql进程的耗时。
标签: asp.net performance search load