我以前曾问过这个问题,似乎我没有100%解决它。请看链接 A search aspx page return slow,我禁用了IIS日志,但似乎仍然加载缓慢。
我有一个asp.net网站,有一个searchResult.aspx,它运行一个sql脚本从MS SQL服务器数据库中检索数据,然后将数据转换成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秒才能加载。
任何帮助将不胜感激。
答案 0 :(得分:1)
stopwatch.Elapsed.Milliseconds
其实我应该用
stopwatch.ElapsedMilliseconds
它们之间的差异在Difference between ElapsedTicks, ElapsedMilliseconds, Elapsed.Milliseconds and Elapsed.TotalMilliseconds? (C#)。最后它告诉我,我的Page_Load()方法有时需要根据搜索词加载超过5秒或7秒。
所以我需要改进sql脚本,因为它非常大,所以我不会写下来。无论如何,谢谢你们所有人,我受到了你们的关注。