提高Dotnet应用程序性能的技巧
提高Dotnet应用程序性能的技巧
几个概念:
1、 吞吐量:单位时间内完成请求的数量
2、 响应时间:请求-----执行-----返回
3、 执行时间:----------执行------------
WebPage的执行事件执行顺序
Page_load àpropereies changeàAction
提高性能的几个技巧
1、 关闭不必要的Session状态<% @Page EnableSessionState=”false” %>
2、 ServerControl (1)有选择的使用 (2)不必要时关闭控件的ViewState < EnableViewState=”false” >:某一个控件禁用ViewState<%@ Page EnableViewState=”false” %>:整一个页面的所有控件都禁用ViewState,区别一下用法:Application变量是全局变量,每一个用户均可以访问,Session是用户变量,只有某一个用户只能访问自己的Session变量,VeiwState:是页面变量。
3、 尽量不使用Try---Catch---异常程序处理块,因为它的流程特别复杂
4、 禁用VB、Jscript的动态数据类型,避免因为动态判断变量类型而引起的不必要的执行时开销<%@ Page Language=”VB” Struct=”true” %>
5、 使用存贮过程进行数据访问
6、 只读的数据不使用DataSet而使用SqlDateReader
7、 程序发布时,要关闭Asp.net的DeBug模式
8、 使用Asp.net OutPut Cache 缓冲数据
(1) 页面缓冲<%@ OutPutCache Dumation=60,VaryByParam=”None” %>其中Dumation是延迟时间,VaryByParam是不使用数据缓冲的参数依据,例:<%@ OutPutCache Dumation=60,VaryByParam=”TextBox1,TextBox
(2) 片断缓冲:实质上是页面缓冲+UserControl,在页面中加载多个UserControl,而这多个UserControl 是设置了页面缓冲的
(3) 数据缓冲,主要是Donet 引入了Cache这个新特性,它实际上是一个拥有过期策略的Application变量,Cache 的用法是判断是否过期(null!=cache--- )(是否为空)。几种过期策略:(a):Cache.Insert(“MyData”,Source,new cache(Dependencey(Server.MapPath(“autours.xml”)));
Cache.Insert(“MyData”,Source,null,Datatime.Now.AddHours(1),tiemSpan.zero);
Cache.Insert(“MyData”,null,Datatime.Maxvalue,TimeSpan.FromMinutes(20));