手机版

在ASP.NET将页面优化性能提高8倍的方法

时间:2021-10-10 来源:互联网 编辑:宝哥软件园 浏览:

为了让大家直观了解优化效果,我准备了以下测试结果截图:

测试环境:1。windows server 2003 SP2 2。通过ual studio 2008,使用自己的WebDev.WebServer.EXE来运行网站程序。3.(ThinkPad SL510):core2t 6670 2.2 GHz和4G内存两个红框中的数字反映了优化前后的执行时间。数据显示,优化前后的执行时间相差超过8倍。背景看完优化结果,我们来介绍一下:这是什么测试测试?目前做ASP.NET的开发者很多,应该向ASP学习。NET的WebForm编程模型。大家都喜欢用服务器控制,不管输出什么都会用。有时,为了在页面上呈现干净的HTML代码,有些人选择使用简单的服务器控件,如Repeater和Literal。或许有人会想:我已经不再使用GridView这样强大复杂的控件了,页面执行速度已经很快了。是真的吗?今天测试的出发点是用一个简单的服务器,我会为它做两次一系列的性能优化。最后就是上图中的三个结果,反映了二次优化的改进过程。在继续介绍之前,我认为有必要说明一下,优化过程涉及到ASP.NET服务器控件的使用,测试结果只是一个参考号。如果你认为你的开发工作严重依赖服务器控件的使用,那么测试结果对你来说毫无意义,所以请不要在意结果。测试方法在这个优化过程中,我没有设计一个非常复杂的测试页面,而是设计了一个非常简单的测试页面。页面显示效果如下:

这个页面实际上显示了一堆超链接,它们来自我博客边栏中的“推荐排名”。总共有20条记录。我要求页面重复输出五次,也就是生成了100个超链接。测试数据获取如下:我在博客边栏复制了【推荐排名】的HTML代码,保存在一个文件中:

然后,当网站初始化时,从这个HTML代码中提取链接地址和显示文本,并将其保存在BlogInfo列表中。代码如下:复制代码如下:公共类bloginfo { public string title公共字符串Href}公共静态类XmlDb {公共静态ListBlogInfo Blogs { get私有集;} public static void LoadBlogs(){ string file Path=Path。组合(HttpRuntime。AppDomainAppPath,@ ' App _ Data \ recommended list . html ');XElement html=XElement。解析(系统。IO.File.ReadAllText(文件路径));Blogs=(来自html中的。元素(' li ')。元素(' a ')选择新的BlogInfo { Title=a.Value,Href=a.Attribute('href ')。值})。to list();}}测试,显示XmlDb的内容。网页上的博客。我觉得这个测试比较贴近现实。这里还有一个问题:如何测试页面的执行速度?虽然创建一个HttpWebRequest访问页面是一个非常简单的方法,但是我并不打算这样做。因为不仅有页面的执行时间,从调用HttpWebRequest的时间到得到结果的时间,还有很多额外的调用开销。最后,我选择了一种叫服务器的方式。循环执行以执行页面并计算HTTP请求中的时间。其实如何选择考试方式对两个考试科目都是公平的。只是说:最小化一些额外的调用开销会使测试结果的差异更大更明显。说明:为了使测试代码易于编写,我使用了MyMVC框架。测试用例1: webfrompage.aspx介绍了测试背景和测试方法。现在我们来介绍第一个测试用例,它采用了WebForm编程模型中最经典的写法。代码:复制的代码如下:% @ page language=' c# ' codefile=' web from page . aspx . cs ' inherits=' test page _ web from page ' % html xmlns=' http://www.w3.org/1999/XHTML' headt。

版权声明:在ASP.NET将页面优化性能提高8倍的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。