打印本文 打印本文 关闭窗口 关闭窗口
[2004-04-10] ASP.NET性能优化
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2204  更新时间:2009/4/23 10:41:46  文章录入:mintao  责任编辑:mintao
1.        不要假设客户端的请求

 

l         永远会返回到同一机器

 

 

使用最佳的Data Provider

l         ADO.NET 可支持多个Provider:

1.        System.Data.SqlClient

2.        System.Data.OracleClient

3.        System.Data.OleDb

4.        System.Data.Odbc

 

l         所有Provider的编程模型相同

1.        但是性能方面存在明显差异

 

l         建议:使用最佳

1.        在访问MSDE/SQL 是始终使用SqlClient

2.        在访问Oracle时始终使用OracleClient

 

 

 

 

DataReader vs.DataSets

l         DataReader

1.        对查询的结果提供了单向读取的操作

2.        轻量快速-但在Reader关闭之前数据库始终处于连接状态

 

l         DataSet

1.        非连接的数据访问方式

2.        内部使用DataReader用户获取数据

3.        在完成DataSet的获取后会自动关闭DataReader

 

l         Which is better?

1.        依赖于你的应用

2.        原则上在Middle_Tier设计到大量数据处理或进行离线的数据访问时建议使用DataSet

 

 

连接池

l         ADO.NET拥有内置的连接迟

1.        自动缓寸/重新使用连接

2.        不必为此编写任何代码

 

l         代码建议

1.        “在后期打开代码中的连接,然后在早期将其关闭”

2.        切无长时间保持连接状态 – 切无尝试构建你自己的“智能”连接池逻辑

3.        完成后应立即显示地关闭数据库连接,以将其返回致池中

 

l         优化提示:

1.        不同的连接字符串可以生成多个不同的连接池

2.        在Web.Config中存储单个连接字符串

3.        使用ConfigurationSettings.AppSettings以在运行时采用编程形式对其进行访问

4.        观察”.NET CLR数据“性能计数器,以变对由ADP.NET维护的连接池数量保持

 

 

使用存储过程

l         建议将SPROC用于数据存取

1.        通过DBA进行更轻松的性能调试

2.        通过使用数据库事务处理避免出现分布事务成本

3.        有助于防止SQL注入攻击

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口