Asp.Net性能优化 记录篇

Asp.Net性能优化 分两方面

1.设计时

1.权衡安全性和性能

动态的ADO.NET数据库连接池

加密算法的选择

2.应用程序的逻辑层ixing一个

尽可能的将各层部署在一起:in-process>cross-process>remote network

3.减少客户端与服端器或者服务器间的往返

在执行一个长时间的服务器操作前,使用HttpResponse.IsClientConnected检查客户端是否保持连接

使用缓存

输出缓存

尽可能的使用Server.Transfer代替Response.Redirect

4.避免长时间运行任务的阻塞

使用异步调用Web Service或者Remote Object

5.使用Caching

缓存对性能影响大的数据和输出

缓存数据应该是静态的或者是很少变动的,而且使用频繁

使用user control封装静态页面的内容,使其与动态内容分离。

选择正确的缓存机制:session,response caching,user control。

6.避免不必要的异常

设计代码去避免异常:验证用户输入,对已知情况进行检查

避免使用异常控制逻辑流程

避免依赖全局异常来处理所有异常:尽可能的就进catch和处理异常

尽早检查复杂操作的依赖项

避免大量的异常信息呈现给用户。

2.实现时

1.线程指导

避免手动创建基于客户端请求的线程

使用ThreadPool.QueueUserWorkItem或者异步调用

避免阻塞线程

2.资源管理

晚获取,早释放

不要缓存池资源

显式的调用Dispose或者Close释放打开的资源:finally;using

3.页面

减小页面大小

使用include,js,删除页面空格和tabs

禁用不必要的viewstate

限制图片的使用,使用压缩图像

避免长的控件名称

使用Buffering

使用Page.IsPostBack减少多余的处理

划分页面内容提交的caching效率

设置<compilation debug="false".../>

设置客户端校验

3.数据绑定

 避免使用Page.DataBind

少使用DataBinder.Eval

4.数据访问

 对大数据量的结果集使用分页

使用DataReader做数据绑定

防止用户请求大量数据

考虑缓存数据

posted @ 2012-02-06 11:47  Jerry.Duan  阅读(247)  评论(0编辑  收藏  举报