高级性能测试经典学习文档.ppt
《高级性能测试经典学习文档.ppt》由会员分享,可在线阅读,更多相关《高级性能测试经典学习文档.ppt(171页珍藏版)》请在三一办公上搜索。
1、1,高级性能测试,2,课程内容介绍,测试策略制定测试结果指标分析测试典型案例分析 测试技术讨论测试工具的使用技巧,3,测试策略制定,概念测试计划测试流程包括哪些步骤测试要达到什么目的选择什么协议进行测试如何编写一个完整的测试方案 测试指标包括哪些内容自动化负载压力测试策略,4,测试结果指标分析,客户端负载压力指标 服务器资源使用指标网络监控指标,5,测试典型案例分析,系统故障定位与分析数据库服务器典型性能调优与评估Oracle数据库性能调优案例测试经验交流,6,测试工具的使用技巧,负载压力测试工具:LoadRunner8.0功能回归测试工具:WinRunner7.6测试管理工具:TestDir
2、ector8.0,7,性能测试,系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等,我们这里重点讨论的负载压力是系统性能的一个重要方面。性能测试用来保证产品发布后系统的性能满足用户需求。性能测试在软件质量保证中起重要作用。,8,负载测试,负载测试是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。负载测试通常描述一种特定类型的压力测试,即增加用户数量以对应用程序进行压力测试。,9,压力测试,压力测
3、试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受。,10,负载压力测试,负载压力测试是性能测试的重要组成部分,负载压力测试包括:并发性能测试(重点)疲劳强度测试大数据量测试,11,负载压力测试,12,负载压力测试,并发性能测试 考察客户端应用的性能,测试的入口是客户端并发性能测试的过程,是一个负载测试和压力测试的过程。即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、资源监控指标等来确定系统并发性能的过程。并发性能测试是负载压力测试中的重要内容
4、。,13,负载压力测试,疲劳强度测试 通常是采用系统稳定运行情况下能够支持的最大并发用户数或 者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试案例制定的原则是保证系统长期不间断运行的业务量,并且应该尽量去满足该条件。,14,负载压力测试,大数据量测试 大数据量测试的两种类型 独立的数据量测试 针对某些系统存储、传输、统计、查询等业务进行大 数据量测试 综合数据量测试 和压力性能测试、负载性能测试、并发性能测试、疲劳性能测试相结合的综合测试方案,15,测试计划,分析应用程序 定义测试目标 计划方案实施检查测试目标,
5、16,制定测试计划的目的,构建能够精确地模拟您的工作环境的测试方案。了解测试需要的资源。以可度量的指标定义测试成功条件。,17,分析应用程序,确定系统组件描述系统配置 分析使用模型 任务分布,18,确定系统组件,客户机、网络、中间件和服务器,19,描述系统配置,连接到系统的用户数应用程序客户端计算机的配置情况(硬件、内存、操作系统、软件、开发工具等)使用的数据库和Web 服务器的类型(硬件、数据库类型、操作系统、文件服务器等)服务器与应用程序客户端之间的通信方式前端客户端与后端服务器之间的中间件配置和应用程序服务器可能影响响应时间的其他网络组件(调制解调器等),20,分析使用模型,考虑哪些用户
6、使用系统每种类型用户的数量每个用户的典型任务,21,任务分布,确定数据库活动峰值期的发生时间负载峰值期间的典型活动,22,定义测试目标,23,定义测试目标,以可度量的指标制定目标确定测试的时间,24,确定测试的时间,25,计划方案实施,定义性能度量的范围定义Vuser活动 选择Vuser 选择测试硬件和软件,26,定义性能度量的范围,度量应用程序中不同点的响应时间。根据测试目标确定在哪里运行虚拟用户运行哪些虚拟用户,27,应用程序中不同点的响应时间,度量端到端的响应时间:,28,应用程序中不同点的响应时间,度量网络和服务器响应时间:,29,应用程序中不同点的响应时间,度量GUI 响应时间:GU
7、I 响应时间=端到端响应时间-网络和服务器响应时间,30,应用程序中不同点的响应时间,度量服务器响应时间:,31,应用程序中不同点的响应时间,度量中间件到服务器的响应时间:,32,选择Vuser,33,选择测试硬件和软件,硬件和软件应该具有强大的性能和足够快的运行速度,以模拟所需数量的虚拟用户。,34,检查测试目标,度量最终用户响应时间 定义最优的硬件配置 检查可靠性 确定瓶颈 度量系统容量,35,定义最优的硬件配置举例,例如,您可以设置三种不同的服务器配置,并针对各个配置运行相同的测试,以确定性能上的差异:.配置1:200MHz、64MB RAM.配置2:200MHz、128MB RAM.配
8、置3:266MHz、128MB RAM,36,检查可靠性举例,确定系统在连续的高工作负载下的稳定性级别。强制系统在短时间内处理大量任务,以模拟系统在数周或数月的时间内通常会遇到的活动类型。,37,确定瓶颈举例,您可以运行测试以确定系统的瓶颈,并确定哪些因素导致性能下降,例如,文件锁定、资源争用和网络过载。,38,度量系统容量举例,查看现有系统中性能与负载间的关系,并确定出现响应时间显著延长的位置“拐点”。可以确定是否需要增加资源以支持额外的用户。,39,测试流程步骤,测试需求分析 测试案例制定 测试环境、工具、数据准备 测试脚本录制、编写与调试负载压力场景制定 测试执行 结果分析与定位问题 测
9、试报告与测试评估,40,测试目的,在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况预见系统负载压力承受力,在应用实际部署之前,评估系统性能 帮助软件厂商或用户分析系统瓶颈、优化系统,41,测试目的,实现目的的测试方法:性能检测 性能调优,42,性能检测,在真实生产环境下,检测系统性能,评估并报告整个系统的性能和健壮情况检查服务等级的满足情况对系统的未来容量作出预测和规划,43,性能调优,查找系统瓶颈的根本原因评估性能调整的效果在测试环境下再现性能问题,44,选择测试协议,客户端与直接压力承受的服务器之间的通讯协议是选择测试协议的唯一标准,45,测试协议,Client/Server:
10、MS SQL,ODBC,Oracle(2-tier),DB2 CLI,Sybase Ctlib,Sybase Dblib,infomix,Windows Sockets及DNS定制:C templates,Visual Basic templates,Java templates,Javascript 及 VBscript.分布式组件:COM/DCOM,Corba-Java,及Rmi-Java.E-business:FTP,LDAP,Palm,SOAP,Web(HTTP/HTML),及the dual Web/Winsocket.Enterprise Java Beans:EJB Testin
11、g及Rmi-Java.Legacy:Terminal Emulation(RTE).Mailing Services:Internet Messaging(IMAP),MS Exchange(MAPI),POP3,及SMTP.Middleware:Jacada及Tuxedo(6,7).Streaming:MediaPlayer及RealPlayer.Wireless:i-Mode,VoiceXML,及WAP,46,编写一个完整的测试方案,应用在客户端性能的测试 应用在网络上性能的测试 应用在服务器上性能的测试一个测试方案的例子一个测试计划的例子,47,测试指标,客户端交易处理性能指标 服务器资
12、源监控,例如:UNIX数据库资源监控,例如:OracleWeb服务器监控,例如:Apache中间件监控,例如:TUXEDO等等,48,自动化负载压力测试,利用或开发负载压力测试的自动化测试方法,包括:程序、工具、流程等等。,49,自动化负载压力测试优势,50,选择自动化负载压力测试方法,利用自动化负载压力测试工具 开放资源(OpenSource)测试 自主开发代码测试,51,自动化负载压力测试概念,通过在一台或几台PC机上模拟成百或上千的虚拟用户同时执行业务的情景,对应用程序进行测试,通过可重复的、真实的测试能够彻底地度量应用的性能,确定问题所在。工程项目实践证明,其测试结果与实际情况完全符合
13、。,52,自动化负载压力测试实现机制,自动负载测试,53,自动化负载压力测试工具,LoadRunner美国Mercury Interactive公司QALoad美国Compuware(康博)公司Rational Robot 美国IBM公司SILK PERFORMER V 美国Segue 公司Benchmark Factory美国Quest软件公司WAS美国Mcrosoft 公司,54,自动化负载压力测试工具,自动化负载压力测试工具对比,55,自动化负载压力测试工具选择依据,模拟您的客户机运行多个模拟的客户机 脚本化执行并能编辑脚本 支持会话 可配置的用户数量 报告成功、错误和失败,56,自动化
14、负载压力测试工具缺陷,缺乏功能点的校验对有些控件支持得不好不能达到真实模拟负载脚本的支持不够灵活报错定位不够详细,57,自动化负载压力测试工具盲点,在负载测试中,不进行功能校验,就是当功能错误发生时,测试工具不能够记录产生的功能性错误,这就忽略了负载压力情况下的功能不稳定问题。在负载压力测试过程中记录所有虚拟用户的操作及服务器的响应是当前负载压力测试技术发展的最大挑战。但测试过程中的附加记录会导致资源消耗、操作行为增加以及产生大量日志等问题。,58,开放资源(OpenSource)测试,开放系统测试体系OpenSTA)TestMaker()Apache JMeter(http:/jakarta
15、.apache.org/jmeter/),59,开发测试工具举例,Web服务器通用性能测试系统的设计与实现实际系统由四部分组成:模板文件数据文件性能测试程序结果处理程序,60,开发测试工具举例,系统结构示意图,61,开发测试工具举例,主流程图,62,开发测试工具举例,通用应用系统性能评测环境设计,63,开发测试工具举例,通用应用系统性能评测环境设计,64,开发测试工具举例,通用应用系统性能评测环境设计,65,开发测试工具举例,通用应用系统性能评测环境设计,66,测试结果指标分析,客户端负载压力指标为了完成一个任务,用户对应用程序执行的一组操作,例如登陆一个Web站点、搜索一个飞机票信息、在网上
16、买一本书等等。虚拟并发用户数(Total Virtual Users)交易响应时间(Response Time)每分钟交易数(Trans Rate)吞吐量图(ThroughOut),67,测试结果指标分析,客户端负载压力指标-交易处理指标.平均事务响应时间图.每秒事务数图.每秒事务总数.事务摘要图.事务性能摘要图.事务响应时间(负载下)图.事务响应时间(百分比)图.事务响应时间(分布)图,68,测试结果指标分析,客户端负载压力指标-Web请求指标.每秒点击次数图.点击次数摘要图.吞吐量图.吞吐量摘要图.HTTP 状态代码摘要图.每秒HTTP 响应数图.每秒下载页面数图.每秒重试次数图.重试次数
17、摘要图.连接数图.每秒连接数图.每秒SSL 连接数图,69,测试结果指标分析,客户端负载压力指标-Web页面组件指标.激活网页细分图.页面组件细分图.页面组件细分(随时间变化)图.页面下载时间细分图.页面下载时间细分(随时间变化)图.第一次缓冲细分时间图.第一次缓冲时间细分(随时间变化)图.已下载组件大小图,70,测试结果指标分析,服务器资源使用指标-UNIX,71,测试结果指标分析,服务器资源使用指标-Windows2000 Server,72,测试结果指标分析,服务器资源使用指标-Windows2000 Server(续),73,测试结果指标分析,服务器资源使用指标-Windows2000
18、 Server(续)看一个例子,74,测试结果指标分析,服务器资源使用指标-数据库SQLServer,75,测试结果指标分析,服务器资源使用指标-中间件Tuxedo,76,测试结果指标分析,网络监控指标:吞吐量容量(信道容量或带宽)利用率最优利用率可提供负载有效率延迟延迟变化量响应时间,77,测试典型案例分析,系统故障定位与分析最难的问题,78,系统瓶颈分析举例,经验举例1交易的响应时间如果很长,远远超过系统性能需求,表示耗费CPU的数据库操作,例如排序,执行aggregate functions(例如sum、min、max、count)等较多,可考虑是否有索引以及索引建立的是否合理;尽量使用
19、简单的表联接;水平分割大表格等方法来降低该值。,79,系统瓶颈分析举例,经验举例2分段排除错误。测试工具可以模拟不同的虚拟用户来单独访问Web服务器、应用服务器和数据库服务器,这样,就可以在Web端测出的响应时间减去以上各个分段测出的时间就可以知道瓶颈在哪并着手调优。,80,系统瓶颈分析举例,经验举例3UNIX资源监控(NT操作系统同理)中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。“Swap in rate”和“Swap out rate”也有类似的解释。,81,系统瓶颈分析举例,经验举例4
20、UNIX资源监控(NT操作系统同理)中指标CPU占用率(CPU utilization),如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。合理使用的范围在60%至70%。,82,系统瓶颈分析举例,经验举例5UNIX资源监控(NT操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统、重新部署业务逻辑等,另外设置Tempdb in RAM,减低max async IO,max lazy writer IO等措施都会降低该值。,83,系统瓶颈分析举例,经验举例6Tuxedo资源监控中指标队列中的字
21、节数(Bytes on queue),队列长度应不超过磁盘数的1.52倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。,84,系统瓶颈分析举例,经验举例7SQLServer资源监控中指标缓存点击率(Cache Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。注意该参数值是从SQL Server启动后,就一直累加记数,所以运行经过一段时间后,该值将不能反映系统当前值。,85,优化调整设置,CPU问题:考虑使用更高级的CPU代替目前的CPU对于多CPU,考虑CPU之间的负载分配考虑在其它体系上设计系统,例如增加前置机、设置并行服务器等。,86,优化调
22、整设置,内存和高速缓存内存的优化包括操作系统、数据库、应用程序的内存优化。过多的分页与交换可能降低系统的性能内存分配也是影响系统性能的主要原因保证保留列表具有较大的邻接内存块调整数据块缓冲区大小(用数据块的个数表示)是一个重要内容将最频繁使用的数据保存在存储区中,87,优化调整设置,磁盘(I/O)资源问题磁盘读写进度对数据库系统是至关重要的,数据库对象在物理设备上的合理分布能改善性能磁盘镜像会减慢磁盘写的速度通过把日志和数据库对象分布在独立的设备上可以提高系统的性能把不同的数据库放在不同的硬盘上,可以提高读写速度。经常把数据库、回滚段、日志放在不同的设备上把表放在一块硬盘上,把非簇的索引放在另
23、一块硬盘上,保证物理读写更快,88,优化调整设置,调整配置参数包括操作系统和数据库的参数配置并行操作资源限制的参数(并发用户的数目、会话数)影响资源开销的参数与I/O有关的参数,89,优化调整设置,优化应用系统网络设置可以通过数组接口来减少网络呼叫。不是一次提取一行,而是在单个往来往返中提取10行,这样做效率较高调整会话数据单元的缓冲区大小共享服务进程比专用服务进程提供较好的性能,90,故障定位与分析,一个测试实例,91,测试典型案例分析,数据库服务器典型性能调优与评估,92,数据库服务器典型性能问题,数据库服务器性能问题及原因分析 单一类型事务响应时间过长 数据库服务器负载 糟糕的数据库设计
24、 事务粒度过大 批任务对普通用户性能的影响 并发处理能力差 锁冲突严重 资源锁定造成的数据库事务超时 数据库死锁,93,数据库服务器典型性能问题,数据库性能问题的一般解决办法 监视性能相关数据;定位资源占用较大的事务并做出必要的优化或调整;定位锁冲突,修改锁冲突发生严重的应用逻辑;对规模较大的数据或者无法通过一般优化解决的锁冲突进行分布。,94,Oracle与提高性能有关的特性,索引并行执行簇与散列簇分区多线程服务器同时读取多块数据,95,Oracle配置的关键参数,MAX_DSPATCHERS:这个参数指定了系统允许同时进行的调度进程的最大数量。MAX_SHARED_SERVERS:这个参数
25、指定了系统允许同时进行的共享服务器进程的最大数量。如果系统中出现的人为死锁过于频繁,那么管理员应该增大这个参数的值。PARALLEL_ADAPTIVE_MULTI_USER:当这个参数的值为TRUE时,系统将启动一个能提高使用并行执行的多用户系统性能的自适应算法。这个算法将根据查询开始时的系统负载自动降低查询请求的并行度。,96,Oracle配置的关键参数,PARLLEL_MIN_SERVERS:这个参数指定了实例并行执行进程的最小数量。其值就是实例启动时Oracle创建的并行执行进程数。PARLLEL_THREADS_PER_CPU:这个参数指定了实例默认的并行度和并行自适应以及负载平衡算法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 性能 测试 经典 学习 文档
链接地址:https://www.31ppt.com/p-6358429.html