提高ASP.NET性能的方法


一、性能参数:
1、  吞吐量
2、  响应时间
3、  执行时间
4、  可伸缩性

二、性能因素:
1、ASPX执行环境
2、编写代码逻辑
<script type="text/javascript"> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
三、提高性能的方法:
1、  避免不必要的操作.例如:在Page_Load中使用IsPostBack;
2、  尽量减少使用服务器端控件
3、  关闭不必要的页面Session和控件的ViewState <%@Page EnableSessionState =”false”%>
4、  禁用VB和JSP动态类型   <%@Page Language=”VB” Strict=”true”%>
5、  使用存储过程
6、  使用DateReader代替DataSet
7、  关闭ASP.Net的Debug模式
8、  使用ASP.Net的Output Cache缓冲
<%@ OutputCache Duration=60 VaryByParam=”None” %>
<%@ OutputCache Duration=60 VaryByParam=”TextBox1,TextBox2” %>
说明: Duration是设置Cache的过期时间;
     VarByParam是设置是否根据参数而变化,None时所有参数使用同一Cache,设置TextBox1时则根据TextBox1的不同值分别缓存;当有多个参数时则要组合缓存;
9、  不要使用Exception控制程序流程
try

{
       result=100/num;
}
catch(Exception e)

{
       result=0;
}
 
if(num!=0)
       result = 100/num;
else
       result=0;
 
四、缓冲分类:
1页面缓冲:根据VarByParam来进行不同的缓冲处理。
2片段缓冲:在页面控件中使用页面缓冲,当一个页面里多次使用同一个页面控件时,需要根据VarByControl来进行不同的缓冲处理。
3数据缓冲:Cache(范围是和Application一样,所有用户)
Cache.Insert(“MyData”,Source,null,new CacheDependency(Server.MapPath(“authors.xml”)));
Cache.Insert(“MyData”,Source,null,DateTime.Now.AddHours(1),TimeSpan.Zero);
Cache.Insert(“MyData”,Source,null,DateTime.MaxValue,TimeSpan.FromMinutes(20));




1、避免不必要的执行操作
2、关闭不必要的Session状态
3、注意使用Server Control 不必要时可以不使用Server Control
4、不必要时可以关闭ViewState
5、不要用Exception控制程序流程
try {
result = 100 / num;
}
 catch (Exception e) {
result = 0;
 }
6、只读数据访问不要使用DataSet 使用SqlDataReader代替DataSet
7、关闭ASP.NET的Debug模式  web.config里的debug要为false,并且dll文件编译是要生成为release版本的
8、使用ASP.NET Output Cache缓冲数据
9、对大量使用的很少更新的数据进行数据缓冲
9、尽量使用存储过程数据访问
10、页面能静态的就不要动态
11、能用JS实现的效果都用JS实现,能在客户端实现的就减少回发
12、转向用Server.Transfer,不用Response.Direct
13、ADO.NET对象在一次使用过程中不要重复打开创建,尽量使用一个Connection、一个Command、一个DataReader,并且记得不再调用数据库数据时马上关闭、释放
14、数据集采用要多少给多少,杜绝不分字段不分页
15、能不用DataSet/DataGrid就不要使用
16、运行在win2003企业版上


1的原因就不用提了吧
2减少消耗内存
3减少server control解释成html的时间
4减少传递时增加的隐藏数据,同时也减小传输文件
5为什么非让它撞南墙再回头
6SqlDataReader效率高于DataSet
7正是版本不应用Debug
8Output Cache缓冲的页听说比静态也还快(直接从内存输出连文件都不用读)
9同样的数据,预先拿出来,放到内存总比在数据库或文件中快吧
9存储过程是数据库预先优化和编译的
10动态的需要先解释啊
11办一件事,故意让你来回跑上几趟,你乐意吗?
12Response.Direct需要先回到客户那里报个到
13本来你手中有个笔,可是写字时你却先放下,再换一个
14要枝给树
15我认为DataGrid过于花哨,DataSet用来缓存数据很好,经常要换的话就浪费了
16win2003企业版是集成.NET的操作系统


 


 

1.注意关闭不必要的Session状态.
2.不必要时,可以不使用Server Control 。并注意不需要时关闭View State
3.不要用异常处理来控制程序流程。很多的地方可以用条件判断。
4.禁用VBS、JS的动态数据类型。
5.注意关闭Debug模式。
6.注意使用OutputCache。
数据访问:
1.尽量使用存储过程。
2.只读数据访问不要使用DateSet。
3.数据库设计室。尽量使各个模块以及表相独立。以便日后利于分布数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值