网站链接: 环球网校培训
当前位置: 首页 > 资讯动态  > 平台资讯

提高ASP.Net应用程序性能的十大方法(一)

2025/12/29 23:07:38 人评论

   现在写一个asp.net的web应用程序变得非常的简单,许多的程序员都不愿花时间去构建一个性能良好的应用程序。本文将要讨论提高web应用程序性能的十大方法。我将不限于只讨论asp.net应用程序的内容,因为它们只是web应用程序的一个子集。本文也不能提供一个完整提高web应用程序性能的指南,因为这需要一本书的篇幅。本文只提供一个提高web应用程序性能的良好的开端。(剩下的只有我们自己慢慢研究了)。
  在工作这外,我经常去攀岩,在每次攀岩之前,我都会重温一下攀岩线路图及看一下前面的成功的攀岩者的建议。因为我们需要它们的成功经验。同样的,当你需要修改某个有性能问题的程序或者是要开发一个高性能的站点时,你也需要学习怎么样写一个高性能的web应用程序。
  我个人的经验主要来源于在微软的asp.net组担任程序经理,运行和管理www.asp.net网站,和协助开发Community Server(它是asp.net Forums,.Text, and nGallery的集成升级版本软件)。我想这些经验能我让来帮助大家。
  你也许会想到把你的应用程序划分成不同的逻辑层。你也可能听过三层物理架构或N层架构,这是最常用的架构模式,它把不同的程序功能物理的分配给各个硬件来执行。这样,如果我们想提高应用程序的性能的话,加一些硬件就可以达到目的了。按理说这种方法能提高应用程序的性能,但是我们应该避免使用这种方法。所以,只要有可能,我们都应该把asp.net页面和它用到的组件放到一个应用程序中运行。
  因为分布式的布署,要用到web services或者Remoting,它将使应用程序的性能下降20%或者更多。
   对于数据层有点不同,最好还是把它独立出来布署,用一个单独的硬件来运行它。虽然这样,但是数据库仍然是应用程序性能的瓶颈。因此,当你想优化你的程序的时候,首先想到的地方就应该是优化数据层了。
  在修改应用程序的出现性能问题的地方之前,你要先确认出问题的地方的程序看起来很严密,性能分析器对于查找应用程序哪些地方花费了多长时间非常有用。这些地方是我们用直觉感觉不到的。
  本文讨论两种类型的性能优化:一种是大的性能优化(big optimizations),如用asp.net的Cache;另一种是小的性能优化(tiny optimizations)。小幅的性能优化有时候非常有用。你只对你的代码作一个小的改到,然后一次调用它一千或一万次。作一次大的性能优化,你会发生你的应用程序的速度会有一个很大的提升。作一次小的性能优化,也许每次请求只能提高一微秒,但是如果每天的请求量很大的话,那么应用程序就有很显著的性能提升。
  数据层的性能
当你要优化一个应用程序的性能的时候,你可以按下面的顺序工作:你的代码要访问数据库?如果要,访问数据库频率怎么样?同样,这种测试方法也可以用在用web services或Remoting的程序代码中。本文将不讨论用Web services和Remoting的程序优化的问题。
  如果在你的代码中有一段必须访问数据库的请求,而你在其它的地方又看到实现同样的功能 的代码,那么你首先要优化它。修改和完善继续测试,除非你有一个非常大的性能问题,你的时间最好花在优化查询,连接数据库,返回数据集的大小,以及一次查询往返回的时间上。
  根据经验的总结,让我们来看看十个能帮助你提升你的应用程序性能的经验,我将按将它们提升效率的多少从大到小小依次说明。

一、返回多个数据集 
   检查你的访问数据库的代码,看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量。
  如果你是用动态的SQL语句来返回多个数据集,那我建议你用存储过程来替代动态的SQL语句。是否把业务逻辑写到存储过程中,这个有点争议。但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不用在过滤数据,这是一个好事情。
  用SqlCommand对象的ExecuteReader方法返回一个强类型的业务对象,再调用NextResult方法来移动数据集指针来定位数据集。示例一演示了一个返回多个ArrayList强类型对象的例子。只从数据库中返回你需要的数据可以大大的减小你的服务器所耗用的内存。 

  二、对数据进行分页
 
   ASP。NET的DataGrid有一个非常有用的功能:分页。如果DataGrid允许分页,在某一时刻它只下载某一页的数据,另外,它有一个数据分页的济览导航栏,它让你可以选择浏览某一页,而且每次只下载一页的数据。
  但是它有一个小小的缺点,就是你必须把所有的数

相关资讯

  • 2018小程序电商行业报告:用户规模将破5亿,社交玩法促进成单量

    OMO时代已来,小程序将会是最重要的工具。差不多两周前,新榜推送了这篇文章《“一条”“日日煮”抢先入局,内容创业迎来OMO时代?| 新榜观察》,在趋势层面探讨了一个现象,去线下开店似乎正成为潮水的方向。比如,刚拿到C+轮融资的“一条”,宣布未来两年要开100家线下…

    2025/12/29 23:07:38
  • 超2000个小程序被封,押注在这里的7亿多资金风险有多高?

    小程序发布一年后,微信开始了大清理。近日,微信宣布永久封禁976个假货、高仿,数百个“色情、低俗”类,及1000多个现金贷小程序。在此之前,就有头脑王者、荔枝微课、千聊被封,目前,后两者已经解封,但头脑王者还在关闭中。据娱乐资本论旗下剁椒娱投了解,千聊发布了…

    2025/12/29 23:07:38
  • 微信小程序认证有哪些主体类别?

    微信小程序在申请过程中,微信要求所有的小程序都要进行主体登记。那么,对于个体工商户来说,应该选择哪种主体类型进行登记?今天,就来为你详细解析一番。1.微信小程序有哪些主体类别?目前,可以登记注册微信小程序的主体类别,有以下几种:个人企业(包括个体工商户)…

    2025/12/29 23:07:38
  • APP五网合一让手机APP的客量倍增

    APP五网合一让手机APP的客量倍增?如今,不少商家都亟需开发自己的App。有想要扩充购买渠道的,有拥有忠实客户需要提供便捷入口的,还有一些门店商家,需要通过独App,树立品牌形象扩大影响力。  因为时代的驱动, 也给一大波的 外包企业开发公司带来很多的客源收益,深…

    2025/12/29 23:07:38

共有条评论 网友评论

验证码: 看不清楚?