设为首页
加入收藏
站点地图
首页 | 网站建设 | 杭州FPGA培训班,浙江FPGA培训班,苏州FPGA培训班,昆山FPGA培训班,常州FPGA培训班优化 | 网站推广 | 网络营销 | 网站运营 | 网站策划 | 在线讨论 | 下载中心
您当前的位置:WebSite -> 杭州FPGA培训班,浙江FPGA培训班,苏州FPGA培训班,昆山FPGA培训班,常州FPGA培训班优化 -> 文章内容正文->优化.Net Web应用程序
 子栏目导航
 热门文章
 相关文章
 

优化.Net Web应用程序

作者:佚名  来源:转载  发布时间:2008-7-11 16:59:18  
对于一个日访问量大且数据库单表记录数在十万数量级的Web应用程序,优化工作是非常有必要的。下面就结合前段时间对AnyP社区程序的优化工作,谈谈.Net Web应用程序优化的一些心得。 
  首先,Web程序方面的优化。 

  1、 尽可能地为页面“瘦身”。
  “瘦身”途径一:去掉多余的空格;
  我们在编写程序的时候,适当的缩进,有助于程序的阅读,但由缩进而生成的空格却会增大页面的大小。为了减小页面大小,我们可以在上传程序的时候,将页面上的部分由缩进引起的空格去掉(在开发阶段,缩进还是非常有帮助的,所以建议在开发完成上传的时候才去掉缩进)。比如在Repeater里面的<ItemTemplate></ItemTemplate>中的空格。
  “瘦身”途径二:去掉无用的viewstat;
由于viewstat只在需要有postback的时候,才需用到,所以当一个服务器控件无需postback的时候,我们大可将它的viewstat设置为false;事实上我们很多页面是不需要viewstat的,比如纯粹是一个列表页,而像DataSet或者Repeater之类的控件,其产生的viewstat,多达几十K。

  2、 减少不必要的数据库操作。
  我们可以在本机测试的时候,一边浏览网站,一边打开SQL-Server的事件探查器,查看该页面涉及到的数据库操作有哪些,是否都是必要的,哪些操作可以合并,把多次的连接数据库用一次连接来实现。

  其次,SQL语句的优化

  涉及到数据库操作的,尤其是数据库记录数庞大的情况,SQL的优化尤为重要。当我们怀疑是因为数据库操作而导致浏览速度缓慢的时候,可以打开SQL-Server的事件探查器,新建一个追踪,逐个检查数据库操作的duration,如果某一个(或几个)存储过程执行的duration特别的大(几百甚至上千),我们就可以重点对这几个存储过程进行改造。
  那么怎样来改造呢,有几点可以值得参考。

  1、建立索引。
  当对一个字段进行条件查询的时候,建立索引与不建立索引,其花时是相差很远的(本文所指的均是对大容量的数据查询,下同)。建立索引,查询的速度会快很多。而索引又有聚集索引跟非聚集索引,至于该字段是建聚集索引还是非聚集索引,我们得根据该表的实际情况,和程序中对各个字段的查询情况来决定。(有关聚集索引跟非聚集索引,参考本文结尾的推荐文章)

  2、采用高效的分页方法
  分页往往是Web应用程序中不可少的一个环节,而分页又往往是个难啃的“骨头”,网上对分页方法的讨论亦非常的多。目前常见的几种分页形式有:临时表法,子查询法,游标法。有关分页方法的讨论,参考本文结尾的推荐文章)

  3、尽量不要用Select * 

  小结
  在优化AnyP社区程序的过程中,阅读了不少关于程序优化的文章以及书籍。.Net Web应用程序的优化,远不止如上所述的几种。鉴于时间原因和个人表达水平有限,下面列出在此次程序优化工作中所阅读过的部分文章和书籍,供大家参考:

  微软出的 ScaleNet 一书(英文)
http://download.microsoft.com/download/a/7/e/a7ea6fd9-2f56-439e-a8de-024c968f26d1/ScaleNet.pdf

  SQL优化:
http://blog.csdn.net/fly_miss/archive/2004/10/25/SqlUpdate.aspx

  Paging of Large Resultsets in ASP.NET http://www.codeproject.com/aspnet/PagingLarge.asp

  《ASP.NET高级编程》
  CSDN社区的.Net版跟数据库版的部分文章

 [返回上一页] [打 印] [收 藏]
百度中查看“优化.Net Web应用程序”相关文章

版权申明:本站杭州FPGA培训班,浙江FPGA培训班,苏州FPGA培训班,昆山FPGA培训班,常州FPGA培训班优化资源来源网络,如有侵犯您的版权,请来Q告知 我们会在24小时内删除!

上一篇文章:程序优化的三个级别
Copyright © 2008-2010 www.mepeixun.com All Rights Reserved
服务QQ:52466268 邮箱:meipeixun@163.com
备案号:苏ICP备07200130号