Web应用性能调优和跟踪、检测.ppt
《Web应用性能调优和跟踪、检测.ppt》由会员分享,可在线阅读,更多相关《Web应用性能调优和跟踪、检测.ppt(73页珍藏版)》请在三一办公上搜索。
1、第13章Web应用性能调优和跟踪检测,内容,如何开发高性能的Web应用跟踪检测缓存技术在Web应用中的异步处理Health Monitor,如何开发高性能的Web应用,页面和服务器控件处理 状态管理数据访问Web 应用程序编码实践 使用缓存,页面和服务器控件处理,避免到服务器的不必要的往返行程(客户端异步回调)使用IsPostBack 只在必要时保存服务器控件视图状态 尽量使用缓冲使用 Transfer,状态管理,当不使用会话状态时禁用它选择合适的会话状态提供程序 进程内会话状态作为 Windows 服务的进程外会话状态 SQL Server 数据库中的进程外会话状态,数据访问,SQL Ser
2、ver数据库中,推荐使用存储过程访问数据合理选择数据访问对象SqlDataReader:只读访问数据DataSet:提供更多类型的数据访问操作,Web 应用程序,预编译Web 应用IIS的回收进程调整辅助进程的线程数 启用网络园艺 禁用调试模式 优化配置文件,编码实践,尽量不要依赖代码中的异常 适当地使用垃圾回收器和自动内存管理 在托管代码中重写调用密集型的 COM 组件 避免单线程单元(STA)COM 组件,使用缓存,应用程序缓存页输出缓存,跟踪检测,跟踪概述页面级跟踪演示和练习:查看页面级跟踪信息应用程序级跟踪演示和练习:使用跟踪查看器查看跟踪信息ASP.NET跟踪与System.Diag
3、nostics 跟踪的集成演示和练习:ASP.NET跟踪与System.Diagnostics 跟踪的集成,跟踪概述,为什么要使用跟踪跟踪输出信息,跟踪概述(续),跟踪输出信息,页面级跟踪:启用与排序,在页面文件(.aspx)的Page指令中设置Trace属性为true,启用页面级跟踪设置TraceMode属性指定跟踪消息出现的顺序SortByTime(默认)SortByCategory,页面级跟踪:自定义输出(编码),启用页面(default.aspx)的页面级跟踪,并在页面的默认事件(Page_Load)中自定义输出消息,protected void Page_Load(object se
4、nder,EventArgs e)Trace.Write(ASPNET_TRACE,Page_Load.);,页面级跟踪:自定义输出(显示),演示和练习:查看页面级跟踪信息,多媒体演示,应用程序级跟踪,在Web.config文件中配置应用程序级跟踪,通过对节点进行设置,即可启用或禁用应用程序级跟踪Enabled、pageOutput、RequestLimit、traceMode、localOnly、mostRecent,演示和练习:使用跟踪查看器查看跟踪信息,多媒体演示,ASP.NET跟踪与System.Diagnostics 跟踪的集成,ASP.NET跟踪与System.Diagnostic
5、s 跟踪的集成的概述要让业务类中通过调用System.Diagnostics.Trace类输出的跟踪输出信息随页面跟踪输出一起呈现,则需要完成以下任务:添加WebPageTraceListener 对象添加编译开关TRACE进行编译应用,ASP.NET跟踪与System.Diagnostics 跟踪的集成,在Web.Config文件中添加WebPageTraceListener 对象或者,在Global.asax 文件中添加WebPageTraceListener 对象,void Application_Start(Object sender,EventArgs e)WebPageTraceL
6、istener gbTraceListener=new WebPageTraceListener();System.Diagnostics.Trace.Listeners.Add(gbTraceListener);,ASP.NET跟踪与System.Diagnostics 跟踪的集成,添加编译开关TRACE进行编译应用,演示和练习:ASP.NET跟踪与System.Diagnostics 跟踪的集成,多媒体演示,缓存技术,缓存概述应用程序缓存页输出缓存,缓存概述,为什么使用缓存 应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能缓存机制分类介绍应用
7、程序缓存页输出缓存,应用程序缓存,应用程序缓存的机制如何将项添加到缓存中演示和练习:向缓存中添加项读取缓存项从缓存中删除项从缓存中删除项时通知应用程序演示和练习:从缓存中删除项时通知应用程序,应用程序缓存的机制,应用程序缓存是由 System.Web.Caching.Cache 类实现的,缓存实例(Cache对象)是每个应用程序专用的,并且每个应用只有一个,通过Page类或UserControl类的Cache属性公开缓存生存期依赖于应用程序的生存期,当重新启动应用程序后,将重新创建 Cache 对象,也就是说缓存数据将被清空,如何将项添加到缓存中,添加缓存项设置缓存依赖项设置缓存过期策略设置缓
8、存优先级,添加缓存项,通过键和值直接设置项使用 Insert 方法将项添加到缓存中,Cache“ProductCategories”=dsCategories;/dsCategories是产品分类信息,Cache.Insert(ProductCategories,dsCategories);/dsCategories是产品分类信息,设置缓存依赖项,为什么要设置依赖项依赖项分类键依赖项文件依赖项SQL 依赖项聚合依赖项自定义依赖项,设置缓存依赖项,添加缓存项的键依赖项,Cache.Insert(CacheItem2,Cache Item2,new System.Web.Caching.Cache
9、Dependency(null,new string CacheItem1);,设置缓存依赖项,添加缓存项的文件依赖项,Cache.Insert(FinanceData,Cached Item 4,new System.Web.Caching.CacheDependency(Server.MapPath(XMLFile.xml);,设置缓存依赖项,添加缓存项的SQL 依赖项使用SqlCacheDependency 对象来创建依赖于数据库表中的记录,添加步骤如下:在Web.config文件的caching节点定义缓存使用的数据库名称 使用代码依赖于该连接对应数据库的某个表的缓存项,Cache.I
10、nsert(cacheitem1,Cache Item 1,new SqlCacheDependency(AdvWorks,Product);,设置缓存依赖项,添加缓存项的聚合依赖项用System.Web.Caching.AggregateCacheDependency类添加多个依赖项,System.Web.Caching.CacheDependency dep1=new System.Web.Caching.CacheDependency(Server.MapPath(XMLFile.xml);CacheCacheItem1=Cache Item 1string keyDependencie
11、s2=CacheItem1;System.Web.Caching.CacheDependency dep2=new System.Web.Caching.CacheDependency(null,keyDependencies2);System.Web.Caching.AggregateCacheDependency aggDep=new System.Web.Caching.AggregateCacheDependency();aggDep.Add(dep1);aggDep.Add(dep2);Cache.Insert(CacheItem2,Cached Item 2,aggDep);,设置
12、缓存过期策略,通过Cache 类自定义如何缓存项以及将它们缓存多长时间。过期类别有:绝对过期可调性过期,Cache.Insert(CacheItem1,Cached Item 1,null,System.Web.Caching.Cache.NoAbsoluteExpiration,new TimeSpan(0,30,0);,Cache.Insert(CacheItem1,Cache Item1,null,DateTime.Now.AddMinutes(30),System.Web.Caching.Cache.NoSlidingExpiration);,设置缓存的优先级,用 Add 或 Inse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 应用 性能 跟踪 检测

链接地址:https://www.31ppt.com/p-6523309.html