ASP.NET性能优化八条建议
2023-06-13 09:14:43 时间
1、数据库访问性能优化
A、尽量减少数据库连接,并充分利用每次数据库连接:连接的创建、打开和关闭是有开销的。可以使用连接池
B、合理使用存储过程:存储过程是存储在服务器端的一组预编译的SQL。使用存储过程可以避免对SQL的多次编译,后续查询可以复用之前的执行计划。另外存储过程可以减少SQL语句网络传输开销
C、优化SQL语句:这个就太多了,如合理使用索引、视图,避免复杂子查询
2、字符串操作性能优化
A、使用值类型的ToString()方法
对不同类型进行+连接时,会发生装箱操作转化为引用类型再添加到字符串中。装箱操作会在托管堆中分配一个新对象,将原有的值复制到新对象中,代价很高。使用ToString()方法可以避免装箱,从而提高性能
B、利用StringBuilder类
3、禁用调试模式
4、只要合适,尽量缓存数据和页面输出
5、不要依赖代码中的异常来控制程序正常流程
异常的开销是很大的。所以慎用异常。
6、使用Page.IsPostBack避免往返过程的不必要处理
复制代码代码如下:
A、尽量减少数据库连接,并充分利用每次数据库连接:连接的创建、打开和关闭是有开销的。可以使用连接池
B、合理使用存储过程:存储过程是存储在服务器端的一组预编译的SQL。使用存储过程可以避免对SQL的多次编译,后续查询可以复用之前的执行计划。另外存储过程可以减少SQL语句网络传输开销
C、优化SQL语句:这个就太多了,如合理使用索引、视图,避免复杂子查询
2、字符串操作性能优化
A、使用值类型的ToString()方法
对不同类型进行+连接时,会发生装箱操作转化为引用类型再添加到字符串中。装箱操作会在托管堆中分配一个新对象,将原有的值复制到新对象中,代价很高。使用ToString()方法可以避免装箱,从而提高性能
B、利用StringBuilder类
3、禁用调试模式
4、只要合适,尽量缓存数据和页面输出
5、不要依赖代码中的异常来控制程序正常流程
异常的开销是很大的。所以慎用异常。
6、使用Page.IsPostBack避免往返过程的不必要处理
voidPage_Load(Objectsender,EventArgse)//Setupaconnectionandcommand
{
if(!Page.IsPostBack)//第一次加载时才填充数据
{
Stringquery="select*fromAuthorswhereFirstNamelike"%JUSTIN%"";
myCommand.Fill(ds,"Authors");
myDataGrid.DataBind();
}
}
7、如果不使用会话状态,可以禁用它或者设置只读
A、若要禁用页的会话状态,请将@Page指令中的EnableSessionState属性设置为false。例如:
<%@PageEnableSessionState="false"%>
B、注意如果页需要访问会话变量,但不打算创建或修改它们,则将@Page指令中的EnableSessionState属性设置为ReadOnly。
8、利用成熟的工具进行性能测试
相关文章
- NET Framework 类库 OleDbCommand 成员
- .Net Core3.1 SignalR for WPF Asp.net
- 【愚公系列】2023年01月 .NET CORE工具案例-RedLock.net实现分布式锁
- .Net 7 的Native AOT为啥不支持反射,你知道吗
- .net搭建ASP.NET应用程序在Linux系统上(linux搭建asp)
- .net安装 Linux 上的 ASP.NET 环境(linux安装asp)
- ASP.NET WebForm也可以这样用Ajax(程序猿,你知道不)
- 使用.NET存储XML数据的方法
- ASP.NET中常用的优化性能的方法
- asp.net选择excel类型文件,利用Dos命令成批复制文件
- ASP.NET中常用的用来输出JS脚本的类
- asp.net下用Aspose.Wordsfor.NET动态生成word文档中的数据表格的方法
- ASP.Net执行cmd命令的实现代码
- ASP.NET性能优化之局部缓存分析
- asp.net数据绑定时对数据列做个性化处理
- 浅析ASP.NET安全性分析(加强asp.net1.1/2.0安全性)
- 基于ASP.NET的lucene.net全文搜索实现步骤
- asp.net采集网页图片的具体方法
- Asp.net后台调用js2种方法
- 页面间隔半秒钟更新时间Asp.net使用Comet开发http长连接示例分享
- asp.net页面中时间格式化的示例