优化ASP.NET性能的方法

asp.net|性能|优化

    1. 数据库访问性能优化
  数据库的连接和关闭

  访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。

  连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。

  使用存储过程

  存储过程是存储在服务器上的一组预编译的SQL语句,类似于DOS系统中的批处理文件。存储过程具有对数据库立即访问的功能,信息处理极为迅速。使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码即可。

  另外,存储过程在服务器端运行,独立于ASP.NET程序,便于修改,最重要的是它可以减少数据库操作语句在网络中的传输。

  优化查询语句

  ASP.NET中ADO连接消耗的资源相当大,SQL语句运行的时间越长,占用系统资源的时间也越长。因此,尽量使用优化过的SQL语句以减少执行时间。比如,不在查询语句中包含子查询语句,充分利用索引等。

  2. 字符串操作性能优化

  使用值类型的ToString方法

  在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。

  使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。

  运用StringBuilder类

  String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。

  在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,Remove,Insert等方法直接对字符串进行操作,通过ToString方法返回操作结果。

  其定义及操作语句如下所示:

int num;

System.Text.StringBuilder str = new System.Text.StringBuilder(); //创建字符串

str.Append(num.ToString()); //添加数值num

Response.Write(str.ToString); //显示操作结果
 

   3. 优化Web 服务器计算机和特定应用程序的配置文件以符合您的特定需要

  默认情况下,ASP.NET 配置被设置成启用最广泛的功能并尽量适应最常见的方案。因此,应用程序开发人员可以根据应用程序所使用的功能,优化和更改其中的某些配置,以提高应用程序的性能。下面的列表是您应该考虑的一些选项。

  仅对需要的应用程序启用身份验证。默认情况下,身份验证模式为 Windows,或集成 NTLM。大多数情况下,对于需要身份验证的应用程序,最好在 Machine.config 文件中禁用身份验证,并在 Web.config 文件中启用身份验证。

  根据适当的请求和响应编码设置来配置应用程序。ASP.NET 默认编码格式为 UTF-8。如果您的应用程序为严格的 ASCII,请配置应用程序使用 ASCII 以获得稍许的性能提高。

  考虑对应用程序禁用 AutoEventWireup。在 Machine.config 文件中将 AutoEventWireup 属性设置为 false,意味着页面不将方法名与事件进行匹配和将两者挂钩(例如 Page_Load)。如果页面开发人员要使用这些事件,需要在基类中重写这些方法(例如,需要为页面加载事件重写 Page.OnLoad,而不是使用 Page_Load 方法)。如果禁用 AutoEventWireup,页面将通过将事件连接留给页面作者而不是自动执行它,获得稍许的性能提升。

  从请求处理管线中移除不用的模块。默认情况下,服务器计算机的 Machine.config 文件中 节点的所有功能均保留为激活。根据应用程序所使用的功能,您可以从请求管线中移除不用的模块以获得稍许的性能提升。检查每个模块及其功能,并按您的需要自定义它。

例如,如果您在应用程序中不使用会话状态和输出缓存,则可以从 列表中移除它们,以便请求在不执行其他有意义的处理时,不必执行每个模块的进入和离开代码。

[1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页  

时间: 2024-08-04 09:07:08

优化ASP.NET性能的方法的相关文章

利用 View State 缓存优化 ASP.NET 性能 【已翻译100%】

简介 ASP.NET的视图浏览机制提供了客户端的管理方式.它能够保存请求过程中的所有数据. 这对于无状态显示的协议编程如HTTP提供了方便. ASP.NET的 View State被保存在页面上隐藏的Base64字符串中, 它记录了客户端到服务器的请求以及服务端到客户端的回应信息. <input id="__VIEWSTATE" type="hidden" name="__VIEWSTATE" value="/wEPDwUJNzg

优化Apache服务器性能的方法小结_Linux

测试与提高性能 Apache服务器已经被设计得尽可能的快,即使你用一台配置不高的机器,用不着进行太复杂的设置,它的响应内容就足以塞满以前的各种窄带连接.但随网站内容日益复杂和带宽的增加,对Apache进行优化以取得更好的性能变得日益重要起来. 如果优化的结果仅仅是极小的性能提升那真是浪费时间.试想一下,你花了好几个小时甚至几天调整Apache的各种参数但结果仅是几个百分点的性能提升?因此,在优化前你做的第一步应该是测试你目前的服务器的性能水平以便决定如何优化你的服务器并衡量优化的效果. 关于对A

提高ASP.NET性能的方法

一.性能参数:1.吞吐量2.响应时间3.执行时间4.可伸缩性 二.性能因素:1.ASPX执行环境2.编写代码逻辑 三.提高性能的方法:1.避免不必要的操作.例如:在Page_Load中使用IsPostBack;2.尽量减少使用服务器端控件3.关闭不必要的页面Session和控件的ViewState<%@PageEnableSessionState="false"%>4.禁用VB和JSP动态类型<%@PageLanguage="VB"Strict=&

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

1.数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息 以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据 库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的 连接请求.连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能. 因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用

完全优化ASP程序性能

ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了.虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情. 现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了.那就跟随我来一同加速你的ASP程序吧! 一. 有关操作数据库的优化方法 我们使用ASP最主要的用途就是对数据库进行操作了,如何更快速的完成

优化MySQL数据库性能的方法

    本文探讨了提高MySQL 数据库性能的思路,并从8个方面给出了具体的解决方法. 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小.例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了.同样的,如果可以的话,

Asp.net性能优化总结(二)

asp.net|性能|优化 Asp.net性能优化总结 一.使用存储过程: 性能方面:存储过程提供了许多标准sql语言中所没有的高级特性.其传递参数和执行逻辑表达式的功能,有助于应用程序设计者处理复杂任务.另外,存储过程存储在本地服务器上,减少了执行该过程所需的网络传输宽带和执行时间.(存储过程已经对sql语句进行了预编译,所以其执行速度比在程序里执行sql语句快很多) 程序结构方面:从程序的可扩展性看,使用存储过程会对程序以后的修改带来方便.比如数据库的结构改变了,只需修改相对应的存储结构,和

Asp.NET中常用的一些优化性能的方法

asp.net|性能|优化 Asp.NET中常用的一些优化性能的方法 ASP.NET 的缓存机制相比ASP有很大的改进,本文档除对常用优化方法进行总结介绍外,强调了如何使用ASP.NET的缓存来获得最佳性能. 1:不要使用不必要的session和ASP中一样,在不必要的时候不要使用Session. 可以针对整个应用程序或者页面禁用会话状态: l 禁用页面的会话状态 l 禁用应用程序的会话状态 在应用程序的Web.Config文件的sessionstate配置节中,将mode属性设置为off. 即

[转载]ASP.NET中常用的优化性能的方法(转贴,Icyer收集整理)

转自:http://www.cnblogs.com/thinhunan/archive/2005/12/09/293535.html 1.       数据库访问性能优化     数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接