51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10778|回复: 39
打印 上一主题 下一主题

ASP.NET中常用的优化性能的方法收藏

[复制链接]
  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2009-3-26 11:12:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    1.
    数据库访问性能优化
      
    数据库的连接和关闭
      访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。
      连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。
     
    使用存储过程
      存储过程是存储在服务器上的一组预编译的SQL语句,类似于DOS系统中的批处理文件。存储过程具有对数据库立即访问的功能,信息处理极为迅速。使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码即可。
      另外,存储过程在服务器端运行,独立于ASP.NET程序,便于修改,最重要的是它可以减少数据库操作语句在网络中的传输。
      
    优化查询语句
    ASP.NET中ADO连接消耗的资源相当大,SQL语句运行的时间越长,占用系统资源的时间也越长。因此,尽量使用优化过的SQL语句以减少执行时间。比如,不在查询语句中包含子查询语句,充分利用索引等。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    40#
    发表于 2011-12-6 21:58:47 | 只看该作者
    收藏先,楼主辛苦啦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    39#
    发表于 2011-12-6 21:58:35 | 只看该作者
    收藏先,楼主辛苦啦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    38#
    发表于 2011-11-22 14:39:54 | 只看该作者
    佩服,佩服
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    37#
    发表于 2010-1-1 20:24:26 | 只看该作者
    这帖子刷的 哈哈      
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    36#
    发表于 2009-12-31 14:50:18 | 只看该作者
    刷帖,占楼,果然HIGH!

    [ 本帖最后由 freedom_me 于 2010-5-18 18:02 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35#
    发表于 2009-9-24 17:28:03 | 只看该作者
    额,帖子好长啊。看起来有点费劲,不过谢谢楼主共享。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    34#
    发表于 2009-4-12 01:08:15 | 只看该作者
    详细哈 学习了 谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    33#
     楼主| 发表于 2009-4-9 11:57:06 | 只看该作者
    原帖由 cebio 于 2009-4-9 11:50 发表
    有些没有体会,有些则应用了,感觉效果不明显。
    原先最开始做性能调优时就一个个往上套,最后发现,影响性能的决定性因素,根本就不是那些方法。
    觉得还是要先做性能分析,找到占比重较大的那个原因,再套用这些方 ...


    是的   需要具体问题具体分析

    上面写的 很多是汇总出来的  大多数需要注意的东西
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32#
    发表于 2009-4-9 11:50:01 | 只看该作者
    有些没有体会,有些则应用了,感觉效果不明显。
    原先最开始做性能调优时就一个个往上套,最后发现,影响性能的决定性因素,根本就不是那些方法。
    觉得还是要先做性能分析,找到占比重较大的那个原因,再套用这些方法。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    31#
    发表于 2009-3-31 17:51:36 | 只看该作者
    谢了 收藏 虽然现在看不懂,不过以后会有用的着的时候得  
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    30#
     楼主| 发表于 2009-3-30 09:56:48 | 只看该作者
    楼上的同学  我很佩服你的哦   呵呵
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29#
    发表于 2009-3-30 01:36:58 | 只看该作者

    嘎嘎。。。。

    中国福利彩票网是国内领先的中国福利彩票行业网站,每日提供大量有效的中国福利彩票供求商机信息及中国福利彩票行业资讯信息,这里聚集了国内上百家中国福利彩票行业的企业,是从事中国福利彩票生产、销售中国福利彩票公益理想交流地。
    针藏刺青是上海目前最专业的纹身,纹身店之一,无论在纹身消毒措施,纹身资料,纹身图案设计等纹身实施方面都是最严格最全面的。
    兰州市兴源生态农业有限公司是一家集黑土豆新品种培育、黑土豆新技术应用、黑土豆深加工研发应用、黑土豆市场营销为主的实体公司。
    洛兹法雷德的衬衫设计衬衫团队甄选上乘的衬衣全棉衬衣面料,使得男士
    牛仔裤和牛仔裤辅料,男士休闲裤表面细腻如丝,休闲裤质感非凡,加之时尚的设计,精致的做工,主导产品有:男衬衫休闲衬衫休闲衬衣男士休闲衬衫条纹衬衫白衬衣休闲西装免烫衬衫为高品位的男士量身打造这款洛兹法雷德高级男士衬衫男士衬衣男式衬衫
    男式衬衣买衬衣就选择洛兹法雷德,这是您网购衬衫的最好选择。
    专业离心机公司,以离心机的产销为主线,在离心机行内已经是离心机老品牌了.
    常州万和奥特莱斯现面向全国进行服装招商、奥特莱斯家纺招商,奥特莱斯购物公园是集奥特莱斯购物公园、奥特莱斯直销名店街、奥特莱斯美食休闲风情街为一体的公园式现代商贸城。
    上海匹帝展示服务有限公司 是舞台搭建设计、展览搭建制作、租赁综合性的展示机构。是一家汇各类展览展示 ,展厅搭建及会务策划、沙滩旗制造、布展、主场搭建于一体的专业化展台搭建公司。是一支具有超前理念、创新及团队精神、有着先进的国际服务理念和以人为本企业文化的会务服务公司。
    山东正华金属防腐工程有限公司是专业从事热喷涂技术研究热喷涂开发、热喷涂施工的高新技术企业,是全国喷涂行业的主要企业之一。
    使用过红外触摸屏的人都知道它带来的方便,触摸屏出现确实让人们兴奋了.带着对红外触摸屏的喜爱期待着下一惊喜到来.
    中南应用科学技术研究院生产的清洗剂有:电脑清洗清洗剂、风管清洗清洗剂,全国电脑清洗连锁机构共承接了数千家工矿企业、风管清洗事业单位的科技清洗,在中国清洗市场占有主要份额。
    中国中医药白癜风治疗康复中心提供白癜风病因、白癜风症状、白癜风治疗方法、预防保健等相关知识,最新研制出治疗白癜风特效药“礼来·克白肽”,彻底改写了白癜风难以治愈的历史!
    银杏干叶产量4000吨/年,结果银杏大树23000多株,年产银杏干果100万公斤,有“天下银杏第一乡”的美誉.
    7天连锁酒店集团目前酒店预订已建立了覆盖全国的经济型快捷连锁酒店预订网络,完善的酒店预订系统让您预订酒店客房更加轻松快捷。
    南京泉泽广告传媒有限公司是集策划、代理、发布江苏各地区报纸媒体广告为一体的综合型广告公司。专注于报纸媒体发展,专业于以报纸为载体,以传播效率为目的,赋予广告最高的生命力。公司自身以签约代理金陵晚报、优势代理现代快报扬子晚报等同城七家报媒广告为主
    建外SOHO位于北京CBD,坐落于中国国际贸易中心对面。建外SOHO总建筑面积约为683821平米,新城国际包括24幢建筑物,新城国际建外SOHO为北京CBD棕榈泉最大型的发展项目和棕榈泉北京最繁华的商业中心
    广州广达二手办公物资回收公司是一家专门广州二手家具、办公家私、
    广州二手家私、废旧物资为一体的服务性机构。广州二手办公家具
    有着十三年的广州二手办公家私等其它物资的回收经验。
    北京dhl国际快递公司本着以服务求发展,dhl品质求生存,dhl管理模式化,制度健全化的dhl原则,不段提升dhl企业团队水平及dhl管理体系的先进化,为dhl长期蓬勃发展道路奠定了坚实的基础。
    在我用DHL快递的这些日子来说,dhl还是最令我满意的,dhl可以说也是成立的比较的早的快递公司,使用dhl让人放心.速度快质量好.
    FedEx联邦快递是全球知名的快递公司,隶属于联邦快递集团,是全球最具规模的快递公司,FedEx联邦快递在全球多个国家及地区提供快捷、可靠的快递服务。FedEx联邦快递在国内也成立了多个快递公司分部,积极拓展国内航空快递服务。
    山东银杏公司始建于1996年,占地200亩银杏,主要是以银杏的培育、银杏种植、存放工程银杏为主。
    中国论文引擎提供免费论文、毕业论文、论文下载、法律论文、各专业论文、工作论文总结、简历论文、论文定制、发表论文、购买论文、论文写作指导等论文服务。
    中国原创论文代写站专业提供代写论文,代写硕士论文,代写论文,代写MBA论文,代写硕士论文各种文案集代写论文、论文代写、论文代写、论文发表、提供学术论文范文为一体的专业学术类论文网站.代写论文代写硕士论文代写论文代写论文硕士、代写mba论文等代写论文服务。论文代写服务业随着学子的需要的代写论文服务.
    韩发世家在对患有脱发补发的朋友一直保持着关注,我们的假发植发服务一直处于国内领先水准,在假发的制作工艺上我们一直追求精益求精.在面对织发的客户也无可挑剔。
    在21世纪随着互联网的发展,网络电话也开始流行起来.网络电话让我们的交流更加如意,用网络电话沟通的用户越来越多.现在还不使用免费网络电话?是免费网络电话让我们实现了零消费远距离沟通,免费网络电话是真正让我们得到实惠的产品.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2009-3-26 16:10:21 | 只看该作者
    幸苦了,那去学习了,谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    27#
     楼主| 发表于 2009-3-26 14:14:31 | 只看该作者
    嘿嘿    刷楼发帖 果然很...   
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    26#
     楼主| 发表于 2009-3-26 11:19:28 | 只看该作者
    26.   ASP.NET应用程序性能测试
      在对ASP.NET应用程序进行性能测试之前,应确保应用程序没有错误,而且功能正确。具体的性能测试可以采用以下工具进行:
    Web Application Strees Tool (WAS)是Microsoft发布的一个免费测试工具,可以从http://webtool.rte.microsoft.com/上下载。它可以模拟成百上千个用户同时对web应用程序进行访问请求,在服务器上形成流量负载,从而达到测试的目的,可以生成平均TTFB、平均TTLB等性能汇总报告。
      Application Center Test (ACT) 是一个测试工具,附带于Visual Studio.NET的企业版中,是Microsoft正式支持的web应用程序测试工具。它能够直观地生成图表结果,功能比WAS多,但不具备多个客户机同时测试的能力。
      
      服务器操作系统"管理工具"中的"性能"计数器,可以对服务器进行监测以了解应用程序性能。
      结论
    对于网站开发人员来说,在编写ASP.NET应用程序时注意性能问题,养成良好的习惯,提高应用程序性能,至少可以推迟必需的硬件升级,降低网站的成本。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    25#
     楼主| 发表于 2009-3-26 11:19:20 | 只看该作者
    25.   不使用不必要的Server Control
    ASP.net中,大量的服务器端控件方便了程序开发,但也可能带来性能的损失,因为用户每操作一次服务器端控件,就产生一次与服务器端的往返过程。因此,非必要,应当少使用Server Control。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    24#
     楼主| 发表于 2009-3-26 11:19:13 | 只看该作者
    24.   仔细选择会话状态提供程序
    ASP.NET 为存储应用程序的会话数据提供了三种不同的方法:进程内会话状态、作为 Windows 服务的进程外会话状态和 SQL Server 数据库中的进程外会话状态。每种方法都有自己的优点,但进程内会话状态是迄今为止速度最快的解决方案。如果只在会话状态中存储少量易失数据,则建议您使用进程内提供程序。进程外解决方案主要用于跨多个处理器或多个计算机缩放应用程序,或者用于服务器或进程重新启动时不能丢失数据的情况。有关更多信息,请参见 ASP.NET 状态管理。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    23#
     楼主| 发表于 2009-3-26 11:19:03 | 只看该作者
    23.   当不使用会话状态时禁用它
    并不是所有的应用程序或页都需要针对于具体用户的会话状态,您应该对任何不需要会话状态的应用程序或页禁用会话状态。
    若要禁用页的会话状态,请将 @ Page 指令中的 EnableSessionState 属性设置为 false。例如,<%@ Page EnableSessionState="false" %>。
    注意 如果页需要访问会话变量,但不打算创建或修改它们,则将 @ Page 指令中的 EnableSessionState 属性设置为 ReadOnly。
    还可以禁用 XML Web services 方法的会话状态。有关更多信息,请参见使用 ASP.NET 和 XML Web services 客户端创建的 XML Web services。
    若要禁用应用程序的会话状态,请在应用程序 Web.config 文件的 sessionstate 配置节中将 mode 属性设置为 off。例如,<sessionstate mode="off" />。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    22#
     楼主| 发表于 2009-3-26 11:18:56 | 只看该作者
    22.   避免到服务器的不必要的往返过程
    虽然您很可能希望尽量多地使用 Web 窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。
    通常,只有在检索或存储数据时,您才需要启动到服务器的往返过程。多数数据操作可在这些往返过程间的客户端上进行。例如,从 HTML 窗体验证用户输入经常可在数据提交到服务器之前在客户端进行。通常,如果不需要将信息传递到服务器以将其存储在数据库中,那么您不应该编写导致往返过程的代码。
    如果您开发自定义服务器控件,请考虑让它们为支持 ECMAScript 的浏览器呈现客户端代码。通过以这种方式使用服务器控件,您可以显著地减少信息被不必要的发送到 Web 服务器的次数。

    使用 Page.IsPostBack 避免对往返过程执行不必要的处理

    如果您编写处理服务器控件回发处理的代码,有时可能需要在首次请求页时执行其他代码,而不是当用户发送包含在该页中的 HTML 窗体时执行的代码。根据该页是否是响应服务器控件事件生成的,使用 Page.IsPostBack 属性有条件地执行代码。例如,下面的代码演示如何创建数据库连接和命令,该命令在首次请求该页时将数据绑定到 DataGrid 服务器控件。
      
    void Page_Load(Object sender, EventArgs e)
    {
            // Set up a connection and command here.
            if (!Page.IsPostBack)
            {
                    String query = "select * from Authors where FirstName like '%JUSTIN%'";
                    myCommand.Fill(ds, "Authors");
                    myDataGrid.DataBind();
            }
    }

      
    由于每次请求时都执行 Page_Load 事件,上述代码检查 IsPostBack 属性是否设置为 false。如果是,则执行代码。如果该属性设置为 true,则不执行代码。
      
    注意 如果不运行这种检查,回发页的行为将不更改。Page_Load 事件的代码在执行服务器控件事件之前执行,但只有服务器控件事件的结果才可能在输出页上呈现。如果不运行该检查,仍将为 Page_Load 事件和该页上的任何服务器控件事件执行处理。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 21:42 , Processed in 0.083564 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表