软件工程第八讲.ppt_第1页
软件工程第八讲.ppt_第2页
软件工程第八讲.ppt_第3页
软件工程第八讲.ppt_第4页
软件工程第八讲.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八讲 结构化实现性能测试,主讲人:杨兵,目标,性能测试需要测试些什么 性能测试生存周期 如何进行性能测试 性能测试工具介绍 如何评价性能测试的结果,内容进度,性能测试需要测试些什么 性能测试生存周期 如何进行性能测试 性能测试工具介绍 如何评价性能测试的结果,WEB服务的关键,任何时间、任何地点 高效、快速,为什么要进行性能测试?,1.0秒 感觉延迟,认可系统比较快,不需要反馈信息,10秒 慢,需要反馈信息,0.1秒 用户未感觉延迟,案例演示,案例说明 横坐标表示时间的推移 随着时间的推移,每秒种的事务量不断上升 纵坐标表示响应时间,与性能测试相关的概念,计划用户数量 估计(或者是做需求时设

2、定)系统可支持用户数是比较困难的,所以需要设计典型用户的行为,估计系统可支持典型用户的数量。 可接受的性能 例如:可接受响应时间是5秒;在响应时间小于5秒的情况下,每秒可处理的典型事务数为150。 数据分析和纠正行动 分析数据,查找瓶颈,解决问题,性能测试的3个主要评测方面之一,系统环境和可利用资源 浏览器: 典型的资源瓶颈:CPU时间 典型活动:接收/发送数据;格式化数据;显示数据;执行脚本和动态内容 网络: 典型的资源瓶颈:等待时间由网络设备和数据队列带来的延迟;吞吐量或带宽 典型活动:信息包从客户端发送到服务器端;信息包从服务器发送到服务器;信息包从服务器端发送到客户端 服务器 典型的资

3、源瓶颈:CPU时间;I/O访问时间:I/O总线,磁盘控制器和磁盘访问 典型活动:接收点击;运行脚本,库函数,存储程序,可执行文件等。,性能测试的3个主要评测方面之二,工作负载 工作负载是指系统需要进行处理和管理的信息数量 用户: 在每个类中并发用户的最大数量 在每个类中并发用户的百分比 在每个类中用户会话的长度 各种独特活动的数量 应用程序: 活动可以用服务频率(TPS)或者吞吐量(例如kbps)来表示 资源 当保持可接受的性能时,系统资源需要处理工作负载,可接受的性能一般用响应时间来表示 系统响应的时间,内容进度,性能测试需要测试些什么 性能测试生存周期 如何进行性能测试 性能测试工具介绍

4、如何评价性能测试的结果,性能测试前需要考虑哪些问题,确定性能目标 用户活动剖析 后台活动分析 关键性能尺度标准 镜像生产环境 创建一份性能测试计划书,确定性能目标,1、可接受的响应时间,确定性能目标,2、吞吐量和并发用户数 在某特定的时间段内,估计站点会有多少用户同时访问? 在某特定的时间段内,正在访问站点的用户的典型操作是什么?哪个页面的访问量最大? 在某个特定的时间段内,你的站点需要处理多少种用户场景?,确定性能目标,3、未来对性能增长需求,用户活动剖析,分析用户活动 分析Web服务器(例如IIS)日志,对用户活动进行剖析 可以使用日志分析工具或者自己开发日志分析工具 时间跨度大,数据越有

5、意义,后台活动分析,分析 分析Web应用程序的用户活动 分析记录Web应用程序访问信息的数据库内容(或者是应用程序日志) 分析WEB应用程序的后台性能瓶颈 分析应用程序服务器性能瓶颈 分析数据库服务器性能瓶颈(例如SQL语句执行分析等),关键性能尺度标准,关键性能尺度标准 服务器错误的可接受性(容错性) 服务器利用的可接受性 例如:对WEB层施加压力使它的CUP的利用率达到75,在这种级别上,每个服务器可以为大约2000个用户服务,这个指标符合我们对性能的要求。 内存泄漏和其他稳定性问题 延迟处理,镜像生产环境,镜像生产环境 尽可能的接近实际生产中的环境,创建一份性能测试计划书,创建一份性能测

6、试计划书 应用程序概要 简要描述该WEB应用程序的商业目的,可以使用一些市场数据来陈述该Web应用程序已经带来或将要带来的收益。 系统架构概要 介绍性能测试环境中的硬件和软件,并指出测试环境和生产环境的差异。 高水平的性能指标 描述通过对WEB应用程序进行性能测试后你想实现的目标 性能测试过程 包括用户场景的描述以及用来进行压力测试的工具等,还要解释测试脚本中定义的各种比率、休眠时间和用户思考时间等 性能测试脚本(草案),内容进度,性能测试需要测试些什么 性能测试生存周期 如何进行性能测试 性能测试工具介绍 如何评价性能测试的结果,如何进行性能测试,手工测试的方法 例如:考试系统性能测试,公司

7、要求公司内部50名员工下午两点登录考试系统,并记录登录所用的时间。 缺点? 工具测试的方法 技术原理:模拟成千上万的用户访问WEB站点和应用程序,以进行请求数据、提交事务以及其他的电子商务活动。 具体的用法:通过记录用户操作并把它们与脚本语言相结合来生成测试脚本;产生多个线程,每个线程运行一个特定的测试脚本或场景,以模拟发送到服务器的真实请求。,内容进度,性能测试需要测试些什么 性能测试生存周期 如何进行性能测试 性能测试工具介绍 如何评价性能测试的结果,常见的测试工具介绍,内容进度,性能测试需要测试些什么 性能测试生存周期 如何进行性能测试 性能测试工具介绍 如何评价性能测试的结果,性能测试

8、主要指标介绍之通用指标,如何评价性能测试的结果,Processor Time Memory Available Mbyte Physicsdisk Time Privileged Time User Time Interrupt Time,如何评价性能测试的结果,Avg Rps Avg time to last byte per terstion (mstes) Successful Rounds Failed Rounds Successful Hits Failed Hits Hits Per Second Successful Hits Per Second Failed Hits Pe

9、r Second Attempted Connections,性能测试主要指标介绍之Web服务器指标,如何评价性能测试的结果,User 0 Connections Number of deadlocks Butter Cache hit,性能测试主要指标介绍之数据库指标,实例分析一,实例分析二,实例分析三,小结,性能测试需要测试些什么 性能测试生存周期 如何进行性能测试 性能测试工具介绍 如何评价性能测试的结果,目标,压力测试的概念和方法 负载测试的概念和方法 使用系统监视器监视应用程序性能,内容进度,压力测试 负载测试 使用系统监视器监视应用程序性能,压力测试的必要性,分布式开发,大型的开发

10、者团队,代码日益组件化,错误难 以发现,压力测试,设计压力测试应用,重复,量级,随机变化,并发,压力测试下常见的错误,并发与同步,内存泄漏,内容进度,压力测试 负载测试 使用系统监视器监视应用程序性能,负载测试的必要性,确定系统可以承受的最大用户数,负载测试:特殊的压力测试,每秒请求次数和CPU利用率关系图,各种每秒请求负载下的响应时间,压力测试和负载测试的不同点,测试时施加的输入条件不同,是否长时间连续运行,内容进度,压力测试 负载测试 使用系统监视器监视应用程序性能,系统监视器的作用,监视性能,实时浏览选定的 系统性能对象和计数器,记录性能计数器 信息以便分析,使用一个系统监视器实例监视

11、多台Windows 2000 Server,查看实时性能数据,记录和查看日志数据,意义 作用,监视远程计算机,需要考虑网络的连接速度,监视对象、计数器来诊断性能瓶颈,处理器瓶颈, Processor Time Privileged Time User Time Interrupt Time Interrupts/sec,处理器典型问题及解决方法,增加更快或更多的处理器,找出产生瓶颈的进程和相关部分: System对象 Processor Queue Length Context Switch/sec,磁盘瓶颈,Average Disk Queue Length,Average Disk Rea

12、d Queue Length,Average Disk sec/Read,Average Disk sec/Transfer The time,Average Disk Write Queue Length,Disk Reads/sec,Disk Writers/sec,创建和配置警报,通过网络向指定的 用户发送信息,运行指定的程序,向应用程序事件日志 里写一条记录,启动性能数据日志,总结,压力测试的概念和方法 负载测试的概念和方法 使用系统监视器监视应用程序性能,掌握可靠性和稳定性测试的概念和方法 掌握可伸缩性测试的概念和方法 掌握ASP性能测试的方法 理解自动化性能测试的概念 掌握Web层

13、的常见错误,目标,可靠性测试和稳定性测试 可伸缩性测试 ASP性能测试 自动化性能测试 Web层的常见错误,内容进度,软件规格说明书上描述系统有99.9%的可靠性,其意味着什么? 意味着一年中有8.8个小时系统故障时间,如果将可靠性改为99.999%,是什么样的结果呢? 意味着一年中只有5.25分钟系统故障时间。,案例分析,可靠性的概念 软件按规定的条件,在规定的时间内运行而不发生故障的能力 软件的故障:是由于它固有的缺陷导致错误,进而使系统的输出不满足预定的要求,造成系统的故障。 按规定的条件:主要指软件的运行(使用)环境,它涉及软件运行所需要的一切支持系统及有关的因素;如支持硬件、操作系统

14、及其他支持软件、输入数据的规定格式和范围、操作规程等。 稳定性的概念 一般与可靠性不作区分 如何增强可靠性 使用工程方法保证软件可靠性 在软件寿命周期的各个阶段千方百计地减少缺陷,可靠性测试和稳定性测试,稳定性测试和可靠性测试的必要性 发现内存泄漏问题 内存泄漏指的是没有正常释放不能被再次使用的小块内存(或者有时也可能是很大的内存块)。因为这些内存没有释放,长期以来越来越多的内存就成为系统不可访问的了。长时间的可靠性、稳定性测试有助于在很多问题上发现内存泄漏问题。 发现不同用户场景和不同时间段的泄漏问题,可靠性测试和稳定性测试,如何进行稳定性测试和可靠性测试 时间是至关重要的因素 在测试软件时

15、,实际需要发生的是把它部署到内部实验室,并使用自动脚本模拟虚拟用户以增加它的工作强度,同时在很长时间内将CPU占用率保持在75或80。 在测试时,很长时间内没有管理性干预(重启等)是至关重要的。 DLL没有在启动时候加载 如果服务器已经运行一段时间了,可能只剩下很少的连续内存。如果需要加载的DLL比任何一块连续的内存都大,它就不能加载,从而使你的服务器有崩溃的危险。 规格说明书应涵盖的内容 可测量的特征:在CPU利用率为75的负载情况下,应用能持续运行500个小时,可靠性测试和稳定性测试,可靠性测试和稳定性测试 可伸缩性测试 ASP性能测试 自动化性能测试 Web层的常见错误,内容进度,可伸缩

16、性的概念 系统能够接受更多用户而不增加每个用户所需的开销,并且同时保持系统的响应特性的能力 可伸缩性和性能的联系与区别 从餐厅的角度,菜上的一贯的慢,这是性能问题;但如果上菜的速度本来还可以,但随着用餐人数上升而急剧下降,这就是可伸缩性问题。从网站的角度,页面响应一贯的慢,这是性能问题;如果页面响应的速度本来还可以,但随着访问人数上升而急剧下降,这是可伸缩性问题。,可伸缩性测试,系统的两种缩放形式 扩大:将当前的机器改造成更大的机器 增加CPU,内存等等 扩充:向拓扑结构中添加更多的机器,以减轻处理的负载 拓扑结构复杂化 机器间共享难以管理,可伸缩性测试,案例分析 随着输入数据增多,速度迅速变慢 缺陷原因:系统存储层的效率过低 改正措施:优化系统存储层,可伸缩性测试,可靠性测试和稳定性测试 可伸缩性测试 ASP性能测试 自动化性能测试 Web层的常见错误,内容进度,ASP性能测试的必要性 资源密集型技术 ASP性能瓶颈分析 操作系统的选择 数据库的选择 优化程序语句的选择,使用Response.IsClientConnected查看客户端机器是否依然联机 如何进行ASP性能测试 使用Response.End IIS异常监控器,ASP性能测试,可靠性测试和稳定性测试 可伸缩性测试 ASP性能测试 自动化性能测试 Web层的常见错误,内容进度,自动化性能测试的必要性 如何进行自动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论