Web应用性能调优和跟踪、检测.ppt

上传人:sh****n 文档编号:7248537 上传时间:2020-03-17 格式:PPT 页数:73 大小:499.55KB
返回 下载 相关 举报
Web应用性能调优和跟踪、检测.ppt_第1页
第1页 / 共73页
Web应用性能调优和跟踪、检测.ppt_第2页
第2页 / 共73页
Web应用性能调优和跟踪、检测.ppt_第3页
第3页 / 共73页
点击查看更多>>
资源描述
第13章Web应用性能调优和跟踪检测 内容 如何开发高性能的Web应用跟踪检测缓存技术在Web应用中的异步处理HealthMonitor 如何开发高性能的Web应用 页面和服务器控件处理状态管理数据访问Web应用程序编码实践使用缓存 页面和服务器控件处理 避免到服务器的不必要的往返行程 客户端异步回调 使用IsPostBack只在必要时保存服务器控件视图状态尽量使用缓冲使用Transfer 状态管理 当不使用会话状态时禁用它选择合适的会话状态提供程序进程内会话状态作为Windows服务的进程外会话状态SQLServer数据库中的进程外会话状态 数据访问 SQLServer数据库中 推荐使用存储过程访问数据合理选择数据访问对象SqlDataReader 只读访问数据DataSet 提供更多类型的数据访问操作 Web应用程序 预编译Web应用IIS的回收进程调整辅助进程的线程数启用网络园艺禁用调试模式优化配置文件 编码实践 尽量不要依赖代码中的异常适当地使用垃圾回收器和自动内存管理在托管代码中重写调用密集型的COM组件避免单线程单元 STA COM组件 使用缓存 应用程序缓存页输出缓存 跟踪检测 跟踪概述页面级跟踪演示和练习 查看页面级跟踪信息应用程序级跟踪演示和练习 使用跟踪查看器查看跟踪信息ASP NET跟踪与System Diagnostics跟踪的集成演示和练习 ASP NET跟踪与System Diagnostics跟踪的集成 跟踪概述 为什么要使用跟踪跟踪输出信息 跟踪概述 续 跟踪输出信息 页面级跟踪 启用与排序 在页面文件 aspx 的 Page指令中设置Trace属性为true 启用页面级跟踪设置TraceMode属性指定跟踪消息出现的顺序SortByTime 默认 SortByCategory 页面级跟踪 自定义输出 编码 启用页面 default aspx 的页面级跟踪 并在页面的默认事件 Page Load 中自定义输出消息 protectedvoidPage Load objectsender EventArgse Trace Write ASPNET TRACE Page Load 页面级跟踪 自定义输出 显示 演示和练习 查看页面级跟踪信息 多媒体演示 应用程序级跟踪 在Web config文件中配置应用程序级跟踪 通过对节点进行设置 即可启用或禁用应用程序级跟踪Enabled pageOutput RequestLimit traceMode localOnly mostRecent 演示和练习 使用跟踪查看器查看跟踪信息 多媒体演示 ASP NET跟踪与System Diagnostics跟踪的集成 ASP NET跟踪与System Diagnostics跟踪的集成的概述要让业务类中通过调用System Diagnostics Trace类输出的跟踪输出信息随页面跟踪输出一起呈现 则需要完成以下任务 添加WebPageTraceListener对象添加编译开关TRACE进行编译应用 ASP NET跟踪与System Diagnostics跟踪的集成 在Web Config文件中添加WebPageTraceListener对象或者 在Global asax文件中添加WebPageTraceListener对象 voidApplication Start Objectsender EventArgse WebPageTraceListenergbTraceListener newWebPageTraceListener System Diagnostics Trace Listeners Add gbTraceListener ASP NET跟踪与System Diagnostics跟踪的集成 添加编译开关TRACE进行编译应用 演示和练习 ASP NET跟踪与System Diagnostics跟踪的集成 多媒体演示 缓存技术 缓存概述应用程序缓存页输出缓存 缓存概述 为什么使用缓存应用程序可以将那些频繁访问的数据 以及那些需要大量处理时间来创建的数据存储在内存中 从而提高性能缓存机制分类介绍应用程序缓存页输出缓存 应用程序缓存 应用程序缓存的机制如何将项添加到缓存中演示和练习 向缓存中添加项读取缓存项从缓存中删除项从缓存中删除项时通知应用程序演示和练习 从缓存中删除项时通知应用程序 应用程序缓存的机制 应用程序缓存是由System Web Caching Cache类实现的 缓存实例 Cache对象 是每个应用程序专用的 并且每个应用只有一个 通过Page类或UserControl类的Cache属性公开缓存生存期依赖于应用程序的生存期 当重新启动应用程序后 将重新创建Cache对象 也就是说缓存数据将被清空 如何将项添加到缓存中 添加缓存项设置缓存依赖项设置缓存过期策略设置缓存优先级 添加缓存项 通过键和值直接设置项使用Insert方法将项添加到缓存中 Cache ProductCategories dsCategories dsCategories是产品分类信息 Cache Insert ProductCategories dsCategories dsCategories是产品分类信息 设置缓存依赖项 为什么要设置依赖项依赖项分类键依赖项文件依赖项SQL依赖项聚合依赖项自定义依赖项 设置缓存依赖项 添加缓存项的键依赖项 Cache Insert CacheItem2 CacheItem2 newSystem Web Caching CacheDependency null newstring CacheItem1 设置缓存依赖项 添加缓存项的文件依赖项 Cache Insert FinanceData CachedItem4 newSystem Web Caching CacheDependency Server MapPath XMLFile xml 设置缓存依赖项 添加缓存项的SQL依赖项使用SqlCacheDependency对象来创建依赖于数据库表中的记录 添加步骤如下 在Web config文件的caching节点定义缓存使用的数据库名称使用代码依赖于该连接对应数据库的某个表的缓存项 Cache Insert cacheitem1 CacheItem1 newSqlCacheDependency AdvWorks Product 设置缓存依赖项 添加缓存项的聚合依赖项用System Web Caching AggregateCacheDependency类添加多个依赖项 System Web Caching CacheDependencydep1 newSystem Web Caching CacheDependency Server MapPath XMLFile xml Cache CacheItem1 CacheItem1 string keyDependencies2 CacheItem1 System Web Caching CacheDependencydep2 newSystem Web Caching CacheDependency null keyDependencies2 System Web Caching AggregateCacheDependencyaggDep newSystem Web Caching AggregateCacheDependency aggDep Add dep1 aggDep Add dep2 Cache Insert CacheItem2 CachedItem2 aggDep 设置缓存过期策略 通过Cache类自定义如何缓存项以及将它们缓存多长时间 过期类别有 绝对过期可调性过期 Cache Insert CacheItem1 CachedItem1 null System Web Caching Cache NoAbsoluteExpiration newTimeSpan 0 30 0 Cache Insert CacheItem1 CacheItem1 null DateTime Now AddMinutes 30 System Web Caching Cache NoSlidingExpiration 设置缓存的优先级 用Add或Insert方法添加项时指定一个CacheItemPriority枚举值 Cache Insert CacheItem1 CachedItem1 null System Web Caching Cache NoAbsoluteExpiration System Web Caching Cache NoSlidingExpiration System Web Caching CacheItemPriority High null 演示和练习 向缓存中添加项 多媒体演示 读取缓存项 通过键来检索被缓存的项 if Cache ProductCategories null DataSetdsCategories DataSet Cache ProductCategories 从缓存中删除项 在以下情况下 缓存自动删除缓存已满该项已过期依赖项发生更改通过代码方式删除调用Cache类的Remove 方法来删除缓存项 Cache Remove ProductCategories 从缓存中删除项时通知应用程序 CacheItemRemovedCallback委托该委托定义编写事件处理程序时使用的签名 当对从缓存中删除项进行响应时会调用此事件处理程序CacheItemRemovedReason枚举用于指定删除缓存项的原因 演示和练习 从缓存中移除项时通知应用程序 多媒体演示 页输出缓存 页输出缓存概述使用页输出缓存设置页的可缓存性演示和练习 缓存整个页面缓存一个页面的多个版本演示和练习 缓存一个页面的多个版本部分页缓存演示和练习 缓存后替换使用SqlCacheDependency类在ASP NET中缓存演示和练习 使用SqlCacheDependency类在ASP NET中缓存 页输出缓存概述 页输出缓存是指在缓存ASP NET页所生成的部分响应或所有响应提高Web应用程序的性能提高Web服务器的吞吐量 设置页的可缓存性 声明性设置 其一 在页面文件 aspx 或用户控件文件 ascx 中添加 OutputCache指令来完成 并设置属性 Duration Location和VaryByParam或VaryByControl其二 在Web config文件中定义缓存配置文件 在配置文件中包括Location duration和varyByParam设置 在页面或用户控件文件中包含 OutputCache指令 并将CacheProfile属性设置为Web config文件中定义的缓存配置文件的名称 设置页的可缓存性 编程设置 通过System Web HttpCachePolicy类来设置和控制页输出缓存 Response Cache SetExpires DateTime Now AddSeconds 60 Response Cache SetCacheability HttpCacheability Public Response Cache SetValidUntilExpires true 演示和练习 缓存整个页面 多媒体演示 缓存一个页面的多个版本 使用VaryByParam属性来设置网页的多个版本 缓存因素有 初始请求 HTTPGET 中的查询字符串回发时传递的控制值 HTTPPOST值 随请求传递的HTTP标头发出请求的浏览器的主版本号页中的自定义字符串HttpCachePolicy类 演示和练习 缓存一个页面的多个版本 多媒体演示 部分页缓存 控件缓存控件缓存 也称为片段缓存 可以通过创建用户控件来包含缓存的内容 然后将用户控件标记为可缓存来缓存部分页输出缓存后替换以声明方式使用Substitution控件以编程方式使用Substitution控件API以隐式方式使用AdRotator控件 演示和练习 缓存后替换 多媒体演示 使用SqlCacheDependency类在ASP NET中缓存 使用System Web Caching SqlCacheDependency类创建依赖于数据库中表或行的缓存项 演示和练习 使用SqlCacheDependency类在ASP NET中缓存 多媒体演示 在Web应用中的异步处理 异步处理概述页面的异步处理演示和练习 创建一个异步处理的页面异步调用Web服务演示和练习 异步调用Web服务客户端异步演示和练习 在网页中实现客户端回调数据的异步访问 异步处理概述 在主应用程序线程以外的线程中执行打开大文件 连接远程计算机或数据库查询等耗时较长的任务增加整个应用的吞吐量 提高应用的响应速度 页面的异步处理 同步执行和异步执行页面流程 页面的异步处理 关键任务 设定页面 Page指令中设置属性Async为true在Page Load事件方法中调用Page类的AddOnPreRenderCompleteAsync方法 为异步页面注册异步处理的开始和结束事件处理程序委托在服务器端申明异步请求的发起方法 BeginGetAsyncData 和结束后调用的方法 EndGetAsyncData 并在Page Load方法中通过调用Page类的AddOnPreRenderCompleteAsync方法注册这两个方法 演示和练习 创建一个异步处理页面 多媒体演示 异步调用Web服务 Begin End模式 Wsdl exe为Web服务中发布的每项操作自动创建三个方法 异步调用Web服务 事件驱动的异步编程模式 基于事件处理回调的新的异步编程模型 可以简化生成多线程应用程序的过程 而不必自己实现复杂的多线程代码 演示和练习 异步调用Web服务 多媒体演示 客户端异步 需要实现的接口 实现ICallbackEventHandler接口实现RaiseCallbackEvent和GetCallbackResult接口方法需要实现的客户端三个脚本函数 实现一个调用帮助器方法的函数实现一个clientCallBack的函数实现一个执行对服务器的实际请求的Helper函数 演示和练习 在网页中实现客户端回调 多媒体演示 数据库的异步访问 ADO NET在其SqlCommand类 对BeginExecuteNonQuery BeginExecuteReader和BeginExecuteXmlReader方法 与EndExecuteNonQuery EndExecuteReader和EndExecuteXmlReader方法搭配 提供异步支持 HealthMonitor HealthMonitor概述使用内置的Web事件和提供程序演示和练习 配置内置的Web事件和提供程序创建自定义事件提供程序演示和练习 创建自定义事件提供程序创建自定义事件演示和练习 创建自定义事件 HealthMonitor概述 监视应用方案监视应用程序的性能以确保它正常运行快速诊断出现故障的应用程序或系统评估给定应用程序的生命周期期间的重要事件在Web config文件中配置HealthMonitor节完成监视设置配置并启用要监视的Web事件配置并启用用于侦听和使用各种Web事件的事件提供程序 使用内置的Web事件和提供程序 向应用程序配置文件的healthMonitoring节中的eventMappings元素添加需要监视的内置Web事件将事件提供程序 侦听器 的类型分配给providers集合元素中的事件提供程序类添加提供程序的事件的关联项 演示和练习 配置内置Web事件和提供程序 多媒体演示 创建自定义事件提供程序 创建一个从WebEventProvider或BufferedWebEventProvider类继承的类来实现自定义事件提供程序 在healthMonitoring节完成以下配置任务在providers元素添加处理事件的自定义提供程序在eventMappings元素添加内置或自定义ASP NETWeb类在rules元素添加一个定义事件与提供程序之间的关联的项将包含自定义提供程序实现的程序集放置在应用程序的Bin子目录中 演示和练习 创建自定义事件提供程序 多媒体演示 创建自定义事件 创建自定义事件的关键任务 生成一个触发自定义运行状况监视事件的HTTP模块生成一个派生于WebRequestEvent类的自定义Web数据类配置应用程序使用标准EventLogWebEventProvider来记录事件信息 演示和练习 创建自定义事件 多媒体演示 回顾 如何开发高性能的Web应用跟踪检测缓存技术在Web应用中的异步处理HealthMonitor 实验 参照实验手册 并在教师指导下完成实验报告 习题 详见本书第13章后习题部分 请学生独立完成
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!