资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2010/9/26,#,性能测试培训,之基础篇,流程方法篇,前言,性能测试难点不在于,Loadrunner,工具本身,难在对整个系统的全局把握,而对全局的把握你就必需得有丰富的,知识面,掌握一门,编程语言,:手动开发脚本,良好,的网络基础,知识,:协议、,Cookie,、,Session,计算机,原理与操作系统,知识,:线程、进程、内存泄露、编码,数据库知识,:,建表,索引,存储过程,事务,触发器,第一章 准备知识,性能测试,性能测试的必要性,性能测试分类,性能测试手段,Loadrunner,介绍,什么是性能测试?,性能测试目前没有确切的定义,一般认为,性能测试就是一个测试过程,指的是在一定约束条件(指定的软件、硬件和网络环境等)确定系统所能承受的最大负载压力。通过性能测试,可以实现以下一个或者几个目标:,判定软件是否满足预期的性能需求,判定软件的性能表现,寻找软件可能存的性能问题,定位性能瓶颈并解决问题。,为什么,要进行性能测试?,客户需求系统快速响应、可靠性高等,系统复杂性日益增长,要求系统的高可靠性,业务处理快速增长,要求系统快速处理,性能同功能一样重要,1.,性能测试的必要性,如图所示表明了一个应用系统的基本架构:,2.,性能测试分类,并发性能测试,并发性能测试的过程是一个,负载测试,和,压力测试,的过程,即随逐渐增加负载,直到系统的瓶颈或都不能接收的性能点,通过综合分析交易执行指标和资源监控来确定系统并发性能测试过程,2.,性能测试分类,疲劳度与大数据量测试,疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程,大数据量测试:针对某些系统存储、传输、统计查询等业务进行独立的大数据量测试;与并发性能测试、疲劳强度测试等相结合的综合数据量测试方案;关键在于数据量的准备,3.,性能测试的手段,手工测试,自动化测试,人工和自动化测试的结合,3.Loadrunner,介绍,Loadrunner,原是,Mercury,公司的产品,,2006 Mercury,公司被,HP,收购,Loadrunner,是一种较高规模适应性的自动负载测试工具,它能预测系统行为,优化性能。,Loadrunner,强调的是对整个企业应用架构进行测试,它通过模拟实际用户操作行为和实行实时性能监测,来帮助客户更快的确认和查找 问题,3.Loadrunner,介绍,Loadrunner,结构,:,:,Loadrunner,主要包,含,含以下,功,功能模,块,块:,Virtual UserGenerator:,虚拟用,户,户生成,器,器,简,称,称,VuGen,用来录,制,制使用,者,者的操,作,作,建,立,立虚拟,用,用户脚,本,本。,Controller,:压力控,制,制器。,整,整个压,力,力的控,制,制中心,,,,用来,管,管理、,设,设计驱,动,动以及,监,监控压,力,力场景,Load Generator,:压力产,生,生 器,。,。执行,虚,虚拟使,用,用者脚,本,本以产,生,生虚拟,用,用户,,对,对被测,系,系统发,出,出请求,和,和接收,响,响应,,模,模拟实,际,际的负,载,载。,Analysis:,结果分,析,析器。,通,通过测,试,试结果,数,数据用,来,来分析,压,压力测,试,试结果,Lanucher:,提供一,个,个集中,的,的界面,,,,启动,LR,所有的,模,模块,3.Loadrunner,介绍,Loadrunner,原理,常用术,语,语,并发,:指在,某,某一时,刻,刻(某,秒,秒)多,用,用户同,时,时向服,务,务器提,交,交请求,。,。即在,1,秒钟内,服,服务器,能,能同时,正,正确响,应,应的用,户,户请求,,,,一般,用,用线程,来,来模拟,实,实际用,户,户的并,发,发请求,。,。,并发用,户,户,:指在,性,性能集,合,合点并,发,发执行,事,事务的,用,用户。,最大并,发,发用户,数,数,:系统,已,已不能,正,正确响,应,应超过,5%,并发事,务,务时的,最,最大虚,拟,拟用户,数,数。,在线用,户,户:,指用户,登,登录系,统,统后,,一,一直未,退,退出系,统,统或用,户,户处于,活,活动状,态,态。,虚拟用,户,户,:通过,执,执行测,试,试脚本,模,模仿真,实,实用户,与,与被测,系,系统进,行,行通信,的,的用户,。,。,事务(,交,交易),:,:,完成一,定,定功能,的,的单个,或,或多个,操,操作处,理,理过程,就,就是一,个,个事务,。,。,集合点,:,:,即并发,操,操作点,,,,就是,多,多用户,同,同时向,服,服务器,提,提交请,求,求的操,作,作点。,响应时间,:,:,从客户端,发,发出请求,开,开始到服,务,务器成功,响,响应,并,返,返馈到客,户,户端为止,的,的这段时,间,间。,LoadRunner,:是一种,预,预测系统,行,行为和性,能,能的工业,标,标准级负,载,载测试工,具,具。后面,具,具体介绍,。,。,场景,:,LoadRunner,的专门术,语,语,是所,有,有测试资,源,源包括测,试,试脚本、,运,运行设置,、,、运行用,户,户数等的,集,集合。在,这,这个场景,中,中,可以,定,定义并发,用,用户的数,目,目,定义,要,要运行的,脚,脚本,或,者,者说运行,的,的流程类,型,型。在一,个,个场景中,,,,可以是,单,单个流程,,,,也可以,是,是多个流,程,程的组合,。,。,HitsPerSecond,:点击次,数,数,每秒用户,对,对,WebServer,端的,HTTP,请求数。,AverageThroughput,(,Bytes/sec,),:从,WEBServer,上接收到,的,的数据量,的,的值(网,络,络总吞吐,量,量),该值随用,户,户数的增,加,加而增加,以,以确定网,络,络速度满,足,足需求,AverageTransactionResponseTime,(,sec,),:平均事,务,务响应时,间,间,系统成功,处,处理一个,事,事务的平,均,均响应时,间,间。,TransactionPerSecond,(,TPS,),:每秒成,功,功处理的,事,事务数,,即,即,交易率,。,Available MBytes(Memory),:服务器,的,的可用物,理,理内存,15%,%ProcessorTime(Processor_Total),:服务器,的,的,CPU,利用率,85%,性能测试,流,流程,第二章,性,性能,测,测试过程,测试需求,分,分析,制定测试,策,策略,制定测试,方,方案,执行测试,方,方案,测试结果,分,分析,编写测试,报,报告,2.1,测,测试需求,分,分析,测试需求,分,分析主要,有,有以下的,几,几个关键,点,点:,测试的目,的,的是什么,性能符合,性,性验证:验证是否,满,满足应,用,用的需,要,要。,性能能力,验,验证:确定性能,极,极限、是,否,否存在性,能,能瓶颈。,性能调优,:,:对系统的,性,性能进行,调,调试、优,化,化。,2.1,测,测试需求,分,分析,测试要素,分,分析,:,阅读需求,规,规格说明,书,书:响应,时,时间等,系统架构,(,(项目经,理,理、技术,经,经理、开,发,发人员),用户数量,、,、用户分,布,布,测试执行,的,的功能,原则,数据量,硬件环境,(,(包括网,络,络环境),软件环境,现场环境,评,评估,第二章,性,性能,测,测试过程,测试需求,分,分析,制定测试,策,策略,制定测试,方,方案,执行测试,方,方案,测试结果,分,分析,编写测试,报,报告,2.2,制,制定测试,策,策略,测试目的,不,不同,则,相,相应的测,试,试策略不,同,同。,性能符合,性,性验证,负载测试,、,、疲劳强,度,度测试。,性能能力,验,验证,压力测试,、,、疲劳强,度,度测试。,性能调优,测试-调,整,整-测试,。,。负载测,试,试、压力,测,测试、疲,劳,劳强度测,试,试、组合,业,业务测试,。,。,第二章,性,性能,测,测试过程,测试需求,分,分析,制定测试,策,策略,制定测试,方,方案,执行测试,方,方案,测试结果,分,分析,编写测试,报,报告,2.3,制,制定测试,方,方案,测试需求,测试策略,测试场景,测试环境,测试准备,人员及时,间,间安排,问题与对,策,策,第二章,性,性能,测,测试过程,测试需求,分,分析,制定测试,策,策略,制定测试,方,方案,执行测试,方,方案,测试结果,分,分析,编写测试,报,报告,2.4,执,执行测试,方,方案,搭建测试,环,环境(,),录制脚本,、,、编辑脚,本,本,布置测试,场,场景,执行测试,场,场景,第二章,性,性能,测,测试过程,测试需求,分,分析,制定测试,策,策略,制定测试,方,方案,执行测试,方,方案,测试结果,分,分析,编写测试,报,报告,2.5,测,测试结果,分,分析,性能符合,性,性验证,:,查看测试,结,结果是否,满,满足要求,,,,比如响,应,应时间、,资,资源利用,率,率、吞吐,量,量等等。,性能能力,验,验证,:,记录软件,系,系统的性,能,能变化曲,线,线。,对于确定,是,是否存在,性,性能瓶颈,,,,首先判,断,断是否存,在,在硬件(,包,包括网络,),)瓶颈问,题,题,若不,存,存在硬件,瓶,瓶颈问题,,,,则按照,应,应用软件,到,到系统软,件,件(应用,服,服务器、,数,数据库服,务,务器、操,作,作系统),的,的顺序进,行,行分析,,确,确定瓶颈,点,点。,性能调优,:,同性能能,力,力验证确,定,定性能瓶,颈,颈分析方,法,法。,2.5,测,测试结果,分,分析,内存分析,方,方法,1.首先,查,查看可用,内,内存(,MemoryAvailableMbytes),计数器指,标,标。若值,较,较小则可,能,能有内存,问,问题,需,进,进一步分,析,析。,2.注意,Pages/sec、PagesRead/sec,和,PageFaults/sec,计数器的,值,值。,Pages/sec,和,PageFaults/sec,的值持续,很,很高,很,可,可能内存,问,问题,若,Pages Read/sec,的值超过5,则可,判,判断存在,内,内存问题,。,。,3.根据,PhysicalDisk,计数器的,值,值分析性,能,能瓶颈。,如,如果磁盘,的,的,AverageDiskQueue Length,计数器增,加,加的同时,Pages Read/sec,并未降低,,,,则可判,断,断内存有,问,问题。,2.5,测,测试结果,分,分析,处理器分,析,析方法,1.首先,查,查看,System%Total ProcessorTime,计数器的,值,值。该值,体,体现的是,CPU,的平均利,用,用率,若,超,超过90%,则说,明,明存在处,理,理器方面,的,的瓶颈。,2.其次,查,查看每个,CPU,的,Processor%UserTime,计数器的,值,值。若应,用,用服务器,的,的,%User Time,值较大,,可,可以考虑,是,是否能通,过,过算法优,化,化等方法,降,降低这个,值,值。若数,据,据库服务,器,器的,%UserTime,值较,大,大,,可,可考,虑,虑对,数,数据,库,库系,统,统进,行,行优,化,化。,3.,查,查看,SystemProcessorQueueLength,计数,器,器的,值,值。,当,当该,值,值大,于,于,CPU,数量,的,的总,数,数+1时,,,,说,明,明存,在,在处,理,理器,方,方面,的,的问,题,题。,2.5,测,测试,结,结果,分,分析,磁盘,I/O,分析,方,方法,1.,查,查看%,DiskTime,计数,器,器的,值,值。,该,该值,较,较大,,,,则,可,可能,存,存在,磁,磁盘,瓶,瓶颈,
展开阅读全文