ASP.NET性能优化八条建议

1、数据库访问性能优化

  A、尽量减少数据库连接,并充分利用每次数据库连接:连接的创建、打开和关闭是有开销的。可以使用连接池

  B、合理使用存储过程:存储过程是存储在服务器端的一组预编译的SQL。使用存储过程可以避免对SQL的多次编译,后续查询可以复用之前的执行计划。另外存储过程可以减少SQL语句网络传输开销

  C、优化SQL语句:这个就太多了,如合理使用索引、视图,避免复杂子查询

  2、字符串操作性能优化

  A、使用值类型的ToString()方法

  对不同类型进行 + 连接时,会发生装箱操作转化为引用类型再添加到字符串中。装箱操作会在托管堆中分配一个新对象,将原有的值复制到新对象中,代价很高。使用ToString()方法可以避免装箱,从而提高性能

  B、利用StringBuilder类

  3、禁用调试模式

  4、只要合适,尽量缓存数据和页面输出

  5、不要依赖代码中的异常来控制程序正常流程

  异常的开销是很大的。所以慎用异常。

  6、使用Page.IsPostBack避免往返过程的不必要处理

  

复制代码 代码如下:

  void Page_Load(Object sender, EventArgs e) // Set up a connection and command

  {

  if (!Page.IsPostBack) // 第一次加载时才填充数据

  {

  String query = "select * from Authors where FirstName like '%JUSTIN%'";

  myCommand.Fill(ds, "Authors");

  myDataGrid.DataBind();

  }

  }

  7、如果不使用会话状态,可以禁用它或者设置只读

  A、若要禁用页的会话状态,请将 @ Page 指令中的 EnableSessionState 属性设置为false。例如:

  

复制代码 代码如下:

  <%@ Page EnableSessionState="false" %>

  B、注意如果页需要访问会话变量,但不打算创建或修改它们,则将 @ Page 指令中的 EnableSessionState 属性设置为 ReadOnly。

  8、利用成熟的工具进行性能测试