软件性能测试_第1页
软件性能测试_第2页
软件性能测试_第3页
软件性能测试_第4页
软件性能测试_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、1软件性能定义性能是种指标,表明软件系统或构件对于其及时性要求的符合程度:其次,性能是软 件产品的一种特性,可以用时间来度量。性能的及时性用响应时间或者吞吐量来衡量。而响 应时间是对请求做出响应所需要的时间。1-1用户角度比如一个典型的Web应用:WEB ServerAPP ServerDB Server 呈现时间 >5系统响应时间用户关注的是软件对用户操作的响应时间。此响应时间=呈现时间+系统响应时间。1.2管理员角度关注系统的响应时间。对于系统管理员来说,用户客户端所消耗的时间是不考虑的。重 点就考虑系统响应时间,包括网络耗时、各服务器耗时等。还会关注系统状态,比如资源利用率、系统可

2、扩展性、系统容量、系统稳定性。1.3开发角度关注于如何通过调整设计和代码实现,或是如何通过调整系统设置等方法提高软件的性 能表现。和如何发现并解决软件设计和开发过程中产生的由于多用户访问引起的缺陷。会从系统架构、数据库设计、代码质量等方面考虑性能。2软件性能的主要术语2.1响应时间对请求做出响应所需要的时间。响应时间=呈现时间+系统响应时间。呈现时间:取决于数据在被客户端收到响应数据后呈现页面所消耗的时间。系统响应时间:应用系统从请求发出开始到客户端接收到数据所消耗的时间。从设计角度考虑,更好的用户体验是,前端在等待数据结果时,提供进度条或逐专显示 数据。进一步分解响应时间:网络传输时间+应用

3、延退时间(Web服务器延退时间+DB延迟时 间)。对于响应时间,其标准不一。一般页面的响应时间,2秒是非常有吸引力,5秒是比较 不错的,10秒则是忍受的极限。视具体情况具体设置。2.2并发用户数系统并发用户数:同一时间内访问系统的用户数。针对的是服务器最大承载最。关注的 是瞬间最大访问量。业务并发用户数:从用户角度来说,在相当长的一段时间内,都会有基本固定数最的用 户访问系统。系统用户数:使用该系统的用户总数。在线用户数:同时在线的用户数。在做并发测试的时候,一般会采取两种方法:一是在并发数一定的情况卜,按业务不同进行测试(业务一,多少人一起使用,什么时 候开始使用,使用多长时间)。这种方式更

4、多的是业务并发测试。二是在并发数一定的情况卜.,只做单纯一样的操作(查询、修改、添加、删除)。这种 方式更多的是系统并发测试。估算并发用户的公式:C=nL/T其中:C为平均并发用户数;n为login session的数最:L为login session的平均时 间长度;丁为考察的时间段长度。峰值并发数:Cm=C+3*Jc假设login session符合泊松分布。比如:OA系统,共3000个用户,每天大约有4。0个用户访问,对一个用户米说,每天 在线时间为4小时,而每天工作时间为8小时。则平均的并发用户为C=400*4/8=200,并发 用户峰值为242。实际应用过程中,要考虑时间的细粒度或结

5、合业务峰值和谷值来更精确的估算并发用户。更一般的公式是:C=n/10.即以每天访问系统用户数的10%作为平均的并发用户数Cm=r*C r为调整因子,取值一般为23对web服务器的日志分析,能得到更为精确的最大并发用户访问数。2.3吞吐量单位时间内系统处理的客户请求的数量。体现软件系统的性能承载能力。一般描述:请求数/秒或页面数/秒。业务角度来说,访问人数/天或处理的业务数/小时。网络角度:字节数/天=网络流量。作用:1、用于协助设计性能测试场景,以及衡量性能测试场景是否达到了预期的设计目 标;2、用于协助分析性能瓶颈。比如以字节数/杪主要反映受网络基础设施、服务器架 构、应用服务器制约:以单击

6、数/秒表示主要受应用服务器和应用代码的制约。在未遇到性能瓶颈时,计算公式:F=Nvu*R/ToNvu表示虚拟用户的个数(Virtual Users); R表示每个VU发出的请求(单击)数量;T 表示测试时间。2.4性能计数器Counter描述服务器或操作系统性能的一些数据指标。资源利用率:系统各种资源的使用状况。2.5思考时间Think Time:从业务角度来说,指用户在进行操作时,每个请求之间的间隔时间。思考时间与迭代次数、并发用户数和吞吐量之间存在一定的关系。计算公式:R=T/TtR:每个用户发出的请求数;T为测试时间;Tt为思考时间。计算思考时间的一般步骤:1、首先计算出系统的并发用户数

7、:2、统计出系统平均的吞吐量3、统计出平均每个用户发出的清求数量4、根据上面公式计算出思考时间。如果测试目的是为了验证应用系统具有预期的能力,即能力验证,则尽虽模拟用户真实 的思考时间:如果是更一般的研究,了解系统在压力下的性能水平或了解系统承受压力的能 力,即规划能力,则可考虑0思考时间。3软件性能测试方法论3.1 SEI负载测试计划过程关注于负贵测试计划,目标产生“清晰、易理解、可验证的负载测试计划”。关注:目标、用户、用例、生产环境、测试环境和测试场景。3.2 RB1方法Rapid Bottleneck Idenfity.快速识别系统性能瓶颈的方法。基:发现80%系统的性能瓶 颈都市吞吐

8、鼠制约;并发数和吞吐屋瓶颈之间存在一定的关联;采用吞吐最测试可以更快速 定位问题。首先访问“小页面”或“简单应用”,从应用服务其、网络等基础的层次上了解系统吞 吐量表现;其次选择不同的场景,设定不同的并发用户数,使其祥吐昼保持基本一致的增长 趋势,并通过不断增加并发用户数和吞吐量,观察系统的性能表现。3.3性能下降曲线分析法性能下降曲线分析法:通过性能曲线上的单用户区,性能平坦区,压力区域以及性能拐 点几个关键因素来分析性能瓶颈问题。运行7UB.F -平均不谆响2时用 平炸黄等响应叼间 和EV科司命分比 I中宁柯gFI手咨响皿项(百分比)事务府成”间(TT分比O "(电屋MW尊!;峰

9、"心敏X球1020304050事务Tf分比60708090100ssawa"大信图钊可伯10. L1 2451250. 052,。国n m.1 IARA 9Xn rrq1 fmv50 0163 4616 S”3 W91 410.0*0 120.0*0. PGo jraOO从上图可以看到,发布博文事务曲线非常平滑,最大响应时间为0.999秒,是属于非常 好的现象,其它毋务随着负载用户数量的增大,出现相应的波动,从而町以分析性能问题所 在。从图中可以看到,一条曲线可以分为以下几个部分:(1)性能平坦区一一在不进行更多性能调优情况下所能期望达到的最佳性能。这个区 域可被用作基线或

10、是benchmark.(2)压力区域一应用“轻微下降"的地方。舆型的、最大的建议用户负我是压力区 域的开始。(3)性能拐点性能开始“急剧下降”的点。这几个区域实际上明碰标识了系统性能最优秀的区间,系统性能开始变坏的区间,以及 系统性能出现急剧下降的点。对性能测试来说,找到这些区间和拐点,也就可以找到性能瓶 颈产生的地方。因此,对性能下降曲线分析法来说,主要关注的是性能下降曲线上的各个区 间和相应的拐点,通过识别不同的区间和拐点,从而为性能)ffi颈识别和性能调优提供依据。3.4 Loadrunner性能测试过程负我测试-般包括5个阶段:规划、创建脚本、定义场景、执行场景和分析结果。,

11、规划负载、创建 vu功iSnvy_ I测试商本1场景场再/V结果/规划负我测试。定义性能测试要求,例如并发用户数量、典型业务流程和要求的响应时间。A创建Vuser脚本。在自动化脚本中录制最终用户活动。定义场景。使用LoadRunner Controller设置负裁测试环境。运行场景。使用LoadRunner Controller驱动、管理并监控负我测试。分析结果。使用LoadRunner Analysis创建图和报告并评估性能。3.5 Segue 性能测试过程 Silk performer在Segue中提供的性能测试过程,是一个try-check过程,艮B评估需求-开发测试 建立基线一执行测试

12、一 分析结果-回归测试一测试结束。3.6 PTGM 模型Performance Testing General Model 该性能测试模型将性能测试分为测试前期准备、测试工具引入、测试计划、测试设 计与开发、测试执行和管理以及测试分析等6个步骤。3.7 GAME(A)性能测试过程模型G: Goal» 目标A:M:E:Analysis,分析Metrics.度量Execution,执行(A) : Adjust,调整。E执行失败后才进入A阶段,并且涉及的大多是有关开发和系 统管理工作,因此A设为隐式。性能测试过程模型如图1-5所示。图1-5 住与芝汛试GAME(A)换里Q注:方法论颇多,视

13、具体情况而定。软件性能测试诃视为一个工程或项目,亦口J谓一个 子过程或验证项。4性能测试方法4.1 性能测试 Performance Testing模拟生产运行压力量和使用场景组合,测试系统的性能是否满足生产性能要求。在特定 的运行条件下验证系统的能力状况。确定用户场景、给出需要关注的性能指标、测试执行和测试分析。性能目标描述:系统在100个并发用户下进行某种业务操作,响应时间不超过5秒。4.2 负载测试 Load Testing通过在被测系统上不断增加压力,直到性能指标。找到系统的处理极限,为系统调优提 供数据。亦称为可量性测试(Scalability Testing)«极限描述:

14、在给定条件卜最多允许120个并发用户访问或在给定条件卜最多在1小时 内处理2100笔业务。预期的性能指标:响应时间不超过10S或 服务器平均CPU利用率低于65%.4.3 压力测试 Stress Testing测试系统在一定饱和状态下,如CPU、内存等在饱和使用情况下,系统能够处理的会话 能力,以及系统是否会出现错误。1)主要目的是检察系统处于压力情况下时,应用的表现。通过增加访问压力,如增加 并发用户,使应用系统的资源使用保持在一定的水平。检测此时的表现,有无错误信息, 响应时间等。2)通过模拟负载等方法,使系统的资源使用达到较高的水平。比如设定为“CPU75%, 内存70%”情况下,有无错

15、误、系统响应时间。其他,如JVM内存、DB连接数、DB 的CPU等。3)测试系统的稳定性。如果一个系统能够在压力环境下稳定运行一段时间,那么这个 系统在通常的运行条件下应该可以达到令人满意的稳定程度。4.4 配置测试 Configuration Testing对被测系统的软/硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找 到系统各项资源的最优分配原则。1)了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。2)规划领域内评估该如何调整才能实现系统的扩展性。4.5 并发测试 Concurrency Testing通过模拟用户的并发访问,测试多用户并发访问同一个应用

16、、模块或者数据记录时是否 存在死锁或者其他性能问题。1)发现系统中可能隐藏的并发访问时的问题。2)关注某些性能指标,如内存泄露、死锁、长事务、线程/进程同步失败等。并发测试可验证某种架构或设计的合理性,可作代码级别的检查和定位。如Jprofile, JProbe :具。4.6 可靠性测试 Reliablity Testing通过给系统加载一定的业务压力(如资源在70-90龙的使用率)的情况卜,让应用持续运行 一段时间,测试系统在这种条件下是否能够稳定运行。1)验证系统是否能够支持长期稳定的运行2)需要在压力卜持续一段时间的运行。3)关注系统的运行状况。关注内存、CPU、系统响应时间有无明显变化

17、。4.7 失效恢复测试(Failover Testing)针对有冗余备份和负载均衡的系统设计的。用来检验如果系统局部发生故障,用户能否 继续使用系统:以及如果发生,用户将受到多大程度的影响。还关注问题发生时,能支持多 少用户访问和采取何种应急措施。一般说来,只有对系统持续运行指标有明确要求的系统才 需要进行此类测试。5性能测试领域5.1能力验证在给定条件卜系统能否具有预期的能力表现。问题描述方式:“某系统能否在A条件下具有B能力”在己确定的环境下运行,根据典型场景设计测试方案和用例,确定相应的性能目标。-般采用性能测试。可靠性验证、压力测试、失效恢复测试也可归入。5.2规划能力应该如何才能使系

18、统其有我们要求的性能能力或在某种可能发生的条件卜.,系统其有 如何的性能能力。问题描述方式:“某系统能否支持未来一段时间内的用户增长”或“应该如何调整系 统配置,使系统能够满足增长的用户数的需要”。负载测试、配置测试和压力测试。5.3性能调优在开发和测试阶段都可能涉及到。确定基准环境、负载和性能指标调整系统运行环境和实现方法,执行测试-记录测 试结果,分析-回到第二步重复继续,直到发现最优配置。调整包括:硬件环境(CPU、内存、硬盘、网络环境等)、系统设置(系统核心参数、 DB内存池、应用服务器内存、jvm等)、应用级别(新架构、新数据访问方式、修改业务逻 辑等)配置测试、负载测试、压力测试和

19、失效恢复测试5.4发现缺陷发现系统中存在的缺陷。并发测试、压力测试、失效恢夏测试。5.5测试方法与领域对应关系表能力验证规划能力性能调整发现缺陷性能测试*负栽测试压力测试配置测试并发测试可靠性测试失效恢夏测试6性能计数器及分析方法通常被用来衡量被测系统当前的状况和进行性能测试结果分析。可以在操作系统级别、 应用服务器级别和数据库级别来查看。6.1操作系统级别6.1.1 Windows操作系统类别计数器名称MemoryAvailable Mbytes计数器描述可用物理内存数。当这个数值变小时,Windows开始频繁 地调用磁盘页面文件。如果这个数值很小,例如小于5 MB.系统会将大部分时间消耗在

20、操作页面文件上。一般要保 留10%的可用内存。最低不能仙,此值过小可能是内存不足或内存泄漏。Pages/sec 是 Pages Input/sec fil Pages Output/sec 的 总和。该系列指标是可以显示导致系统范困延缓类型错 误的主要指示器。表明由于硬件页面错误而从磁盘取出的页而数,或由于 页面错误而写入磁盘以释放工作集空间的页面数。Page/sec推荐0-20。如果服务器没有足够的内存处理其 工作负荷,此数值将一直很高。如果大于80,表示有问 题(太多的读写数据操作要访问磁盘,町考虑增加内存或 优化读写数据的算法)。该系列计数器的值比较低,说明响应请求比较快,否 则诃能是服

21、务器系统内存短缺引起(也可能是缓存太大, 导致系统内存太少)。页的硬故障,Pages/sec的子集,为了解析对内存的使用, 必须读取页文件的次数。阙值为5。数值越低越好。大数值表示是磁盘读而不是缓存读。Pages Input/sec是为了解决硬错误页,从硬盘上读取 的页数。Page Faults/sec是处理器每秒钟处理的错误页(包括软错误和硬错误)。当进程引用特定的虚拟内存页,该页不在其主内存的工 作集当中时,将出现页面错误。如果某页己经位于主内 存中,或者它正在被共享该页得其他进程所使用,姻页 面错误不会导致该页从磁盘中提取出。当处理器向内存指定的位置请求一页(可能是数据或代 码)出现借误

22、时,这就构成一个Page Faulto如果该页 在内存的其他位置,该错误被称为软错误(用Transition Fault/sec衡吊:):如果该页必须从硬盘上 重新读取时,被称为硬错误。许多处理器订以在有大软 错误的情况下继续操作。但是,硬错误可以导致明显的 拖延。ProcessCache Bytes%Processor Time文件系统缓存(File System Cache) «默认情况为50%可 用物理内存,不超过75%。指处理器执行非闲置线程时间的百分比。这个计数器设 计成用来作为处理器活动的主要指示器。它通过在每个 时间间隔中衡量处理器用于执行闲置处理线程的时间, 并旦用1

23、00%减去该值得出。可将其视为范例间隔用于做 有用工作的百分比。根据应用系统情况,在80%±5%范围内波动为宜。过低, 则服务器CPU利用率不高;过高,则CPU可能成为系统 的处理瓶颈。这里专用于某种特定应用。Page Faults/sec将进程产生的页故障与系统地相比较,以判断此进程对 系统页故障产生的影响。Work set处理线程最近使用的内存页。反映了每一个进程使用的 内存页的数量。如果服务器有足够的空闲内存,页就会 被留在工作集中,当自由内存少于一个特定的阙值时, 页就会被清除出工作集。Private Bytes此进程所分配的无法与其他进程共享的当前字节数最。 如果系统性能随

24、着时间降低,则其可以使内存泄露的最 佳指示器。Processor%Processor Time如果超过95%,表明瓶颈是CPU。可以考虑增加CPU或换 更快的。%User Time非内存操作耗费的CPU时间。一般来说,如果系统中使 用了大量的算法或复杂的计算操作,该值会比较大。Privileged TimeCPU内核时间是在特权模式下处理线程执行代码所花时 间的百分比。%DPC TimeCPU消耗在网络处理上的时间,此值越低越好。Interrupts/sec每秒钟设备中断处理器的次数。在完成一个任务或 需要注意时,装置会发出中断讯号给处理器。可以产生 中断的装置包括系统定时器、鼠标、数据通讯联

25、机、网 络卡以及其它的外部装置。在中断过程中,一般的执行 绪执行将被暂停,而且一个中断可以使处理器切换到另 J个具有较高优先等级的执行绪。频率中断是频繁和周期性的,并旦中断动作在背景 执行。取决于处理器,越低越好:不宜超过1, 000:如果 该值显著增加而系统活动没有相应的增加,则表明存在 硬件问题,需要检查引起中断的网络诂配器、磁盘或其 他硬件。System Calls/sec指运行在计算机上的所有处理器调用操作系统服务例行 程序的综合速率。这些例行程序执行所有也计算机上的 如安排和同步活动等基本的程序,并提供对非图形设备、 内存管理和名称空间管理的访问。如果 Interrupts/sec

26、大于 SystemCalls/sec.,则系统中 某一硬件设备产生过多的中断。ProcessorLengthQueue处理器队列的线程数量。此计数器只显示就绪线程, 而不是正在运行的线程。如果处理器队列中总是有两个 以上的线程通常表示处理器堵塞。ContextSwitches/sec计算机上的所有处理器全都从一个线程转换到另一个线 程的综合速率。当正在运行的线程自动放弃处理器时出 现上下文转换,由一个有更高优先就绪的线程占先或在 用户模式和特权(内核)模式之间转换以使用执行或分 系统服务。如果此计数器的数值较大,则表明锁定竞争很激烈,或 者线程在用户和内核模式之间频繁切换。PhysicalDi

27、sk%Disk Time所选磁盘驰动器忙于为读或写入请求提供服务所用的时 间的百分比。正常值10,此值过大表示耗费太多时间来访问磁盘,叮 考虑增加内存、更换更快的硬盘、优化读写数据的算法。 若数值持续超过80 (此时处理器及网络连接并没有饱 和),则可能是内存泄漏。Average Disk Queue Length指读取和写入请求(为所选磁盘在实例间隔中队列的)的 平均数。该值应不超过磁盘数的1.52倍。要提高性能, 可增加磁盘。注:一个Raid Disk实际有多个磁盘。AverageRead/WriteLengthDiskQueue指读取/写入请求(队列)的平均数DiskReads (Wri

28、tes)/sec物理磁盘上每秒钟磁盘读、写的次数。两者相加,应小 于磁盘设备最大容量Average sec/ReadDisk以秒计算的在此盘上读取数据的所需平均时间Average sec/TransferDisk以秒计算的在此盘上写入数据的所需平均时间NetworkInterfaceBytes Total/sec为发散和接收字节的速率,包括帧字符在内。判断网络 连接速度是否是瓶颈,诃以用该计数器的值和目前网络 的带宽比较。注:带宽一般以bit为单位,lByte=8bit»切记!System%Total processorTime系统上所有处理器都忙于执行非空闲线程的平均时间的 百分比

29、,该值反映了用于有用作业上的时间的比率。对 单处理器系统来说,该值很容易理解:对于多处理器系 统来说,该值是体现了所有处理器的平均繁忙程度。列 入,如果所有处理器都繁忙,此值为100%,如果有一半 繁忙,另一半空闲,此值为50%。FileDataOperatoins/sec计算机对文件系统设备执行读取和写入操作的速率。本 计数器的计数不包括文件控制操作。Processor QueueLength线程单元中的处理器队列的即时长度。所有处理器都使 用单一队列(线程在该队列中等待处理器循环)。该长度 不包括当前正在执行的线程。一般情况R如果处理器 队列的长度一直超过服务器上可用处理器的总数量+1,

30、则可能表示处理器堵塞。6.1.2 Unix操作系统类别计数器名称计数器描述MemoryProcessFree (KB)Swap(KB) (Page) si (Page) soCache (KB) %CPU Usage可用物理内存数己使用的虚拟内存数景Linux标示为Swpd每秒从磁盘交换到内存的数最。Linux卜放在swap区中。 每秒从内存交换出的内存数量。Linux卜放在swap区中。 如果Swap In/Out的值长期保持在每秒200到300个页而 通常就表示系统可能存在内存的瓶颈.文件系统缓存被处理器消耗的处理器时间数量。如果是专用于某种特定 应用,则可用应用相关进程的%Process

31、 Time进行衡量。 此时,可接受的上限一般是不超过85%。Page Fault count该进程产生的页面失效次数。口J以用该值与系统的页面失 效次数对比,从而判断得到该进程队贝面失效的影响。Resident size(KB)进程保留的使用内存量。该数值等于进程的代码使用内存 +进程的数据使用内存。如果该值在测试过程中持续增加, 很可能意味着发生了内存泄漏。Processor%idle TimeCPU总的空闲时间。如果该值持续低于10%,表明瓶颈是CPU%User Time非内核操作耗费的CPU时间。一般来说,如果系统中使用 了大量的算法或者复杂的计算操作,该值会比较大%Kerne1 Tim

32、eCPU内核时间是在特权模式卜处理线程执行代码所花时间 的百分比。%I0wait TimeCPU消耗在等待10处理上的时间。此值需要结合1/0的计 数器考虑。Runable processes这个值描述了正在准备被执行的进程,在一个持续时间里 这个值不应该超过物理CPU数量的10倍,否则CPU方面 就可能存在瓶颈。Blocked描述了那些因为等待1/0操作结束而不能被执行的进程, Blocked可能指出你正面临1/0瓶颈。System time描述了 CPU花费在处理内核操作包括IRQ和软件中断上面 的百分比。如果system time很高说明系统可能存在网络 或者驱动堆栈方面的瓶颈。一个系统

33、通常只花费很少的时 间去处理内核的操作。InterruptsInterrupts 值包括硬 Interrupts 和软 Interrupts* 硬Interrupts会对系统性能帝来更多的不利影响。高的 Interrupts值指出系统可能存在-个软件的瓶颈,可能是 内核或者骤动程序。注意Interrupts值中包括CPU时钟 导致的中断(现代的xServer系统每秒1000个Interrupts 值)。PhysicalPercent of time所选磁盘驱动器忙于为读或写入请求提供服务所用的时 Disk the disk is busy 间的百分比Average number of读取和写入

34、请求(为所选磁盘的实例间隔中队列的)的平 transactions 均数。该值不应该超过磁盘数的1. 52倍。要提高性能, actively being诃增加磁盘。在iostat的结果中,该值显示为actv。 servicedAverage number of 读取(写入)请求(队列)的平均数。在iostat的结果中, transactions该值显为 waitactively waiting for serviceReads (Writes)per 物理磁盘上每秒磁盘读、写的次数。两者相加,应小于磁 sec盘设备最大容量。iostat的结果中,该值显示为r/s和w/sAverage serv

35、ice以毫秒计算的在此盘读取和写入数据的所需平均时间。 time active iostat的结果中,该值显示为asvc_t transact ions, in millisecondsThe number of显示每个磁盘每秒的被操作次数。该值在vmstat的结果 disk operations 中显不。 per secondNetwork 参见 Unix 的 SNMP Packets received and sentInterface接【1内容这个参数表示了一个指定网卡接收和发送的数据包的数量。 Bytes received and sent 这个参数表示了一个指定网卡接收和发送的数据包

36、的字 节数。 Collisions per second 这个值提供了发生在指定网卡上的网络冲突的数量。持续 的出现这个值代表在网络架构上出现了瓶颈,而不是在服 务器端出现的问题。在正常配置的网络中冲突是非常少见 的,除非用户的网络环境都是由hub组成。 Packets dropped 这个值表示了被内核丢掉的数据包数虽,可能是因为防火 墙或者是网络缓存的缺乏。 OverrunsOverruns表达了超出网络接I I缓存的次数,这个参数应该 和packets dropped值联系到-,起来判断是否存在在网络 缓存或者网络队列过长方面的瓶颈。Errors这个值记录了标志为失败的帧的数量。这个可能

37、由错误的 网络配置或者部分网线损坏导致,在铜11T兆以太网环境 中部分网线的损害是影响性能的一个重要因素。System %User Time系统上所有处理器执行非内核操作的平均时间的百分比,该值反映了用于有用作业上的时间的比率。 CPU context CPU Jt下文切换。在vmstat的结果中,该值显示为cs switchesload average,系统的load是指running和runnable process的总和例如:如果有两个 processes在running和有三个在等待运行(runnable),那么系统的load为五.load average 是指在指定时间内load的平

38、均值.J般load average显示的三个数字的时间分别为1分钟, 五分钟和十五分钟.一,般可以认为这个数值超过CPU数目时CPU将比较吃力了 !6.1.3内存分析方法1) 育先查看Available Mbytes指标,Unix卜为Free。对内存的使用情况有个初步了 解。如果此值较低,就表示内存方面有问题。一般要保留10%的可用内存。最低不 能MM,此值过小可能是内存不足或内存泄漏。2) 注意Pages/sec、Pages Read/sec和Page Faults/sec的值。操作系统经常利用磁 盘交换的方式提高系统町用内存量或是提高内存的使用效率。如果Pages/sec的计 数持续高于几

39、百,很可能会有内存方面的问题产生,但其值大不一定表明内存有问 题,而可能是运行使用内存映射文件的程序所致。Page Faults/sec表明了每秒发 生页面失效的次数,次数越多,说明操作系统向内存中读取的次数越多。此时还需 要查看Pages Read/sec的计数值,其阙值为5,若超过5,则可以判断存在内存方 面的问题。Unix卜对应的是(Page)si和(Page)so。3) 根据Physical Disk的值分析性能瓶颈。包括对Page Reads/sec和Disk Time及Average Disk Queue Length 的分析。如果 Page Reads/sec 很低,但同时%Di

40、sk Time 及 Average Disk Queue Length的值很高,则可能有磁盘瓶颈。但是如果队列长度增加的同时, Page Reads/sec 并未降低,则是由于内存不足 Unix/Linux 卜是 Reads(Writes)per sec、 Percent of time the disk is busy 和 Average number of transactions waiting for service6.1.4处理器分析方法1、查看Total processor Time。体现了服务器整体利用率。对于多处理器系统而 言,为平均利用率。该值若连续高于90%,则存在瓶颈,可

41、以考虑增加处理器。在多CPU系统中,数据值本身不大,但CPU之间的负栽极不均衡,也可能出现 了瓶颈问题。2、查看每个 CPU 的processor Time、%User Time 和?电昭&£(1 Time。%User Time 是指非核心操作消耗的CPU时间,如果该值较大,考虑优化算法降低该值。若为DB服务器,可能是排序或函数操作消耗,要考虑DB优化。3、查看Processor Queue Length的值,当该值大于CPU总数+1时,说明产生了处 理器阻塞,在处理器的%processorTime很高时一般都伴随着处理器阻塞,但汽 处理器阻塞时,%Processor Tim

42、e却不大,得必须查找阻塞原因了。%DPC Time 越低越好。在多CPU系统中,该值大于50%并且%processorTime很高,加入一 个网卡可能会提高性能。6.1.5磁盘10分析方法III右关独立冗余磁盘阵列,即RAID的介绍,清参考:1、计算每个磁盘的I/O数,用来与磁盘的I/O能力进行对比。如果I/O数高于I/O 能力,则存在磁盘性能瓶颈。RAID类型计算方法RAIDO(Reads +Writes)/Number of DiskRAID1(Reads +2*Writes)/2RAID5(Reads +4*Writes)/Number of DiskRAID10(Reads +2*Wr

43、ites)/Number of Disk2、与Processor %Privileged Time合并进行分析。如果Physical Disk计数器中,只 %DiskTime偏大,其他都透中,硬盘可能出现瓶颈。若几个值都较大,旦持续 超过80%,则可能存在内存泄露。3、根据Disk sec/Transfer来分析。般来说,该值小于15ms为优秀。15"30ms之 间为良好。3060ms为可以接受。超过60ms则考虑更换硬盘或硬盘RAID方式 了。6.1.6进程分析方法1、查看进程的%processor Time值。反映进程消耗的CPU时间。可以比较优化消耗大 的进程。2、查看每个进程

44、产生的页面失效。进程产生的页面失效Page Faults/sec和系统的页 面失效MemoryPage Failures/sec的比值,来判断哪个进程产生了最多的页面失 效,该进程要么需要大量内存,要么非常活跃,需对其重点分析。3、了解进程的Private Byteso该值是指进程所分配的无法与其他进程共享的当前字 节数量。主要用来判断进程在性能测试过程中有无内存泄露。该值不断增加,或者 停11: 一段时间后,仍处在高水平,则说明存在内存泄露。在Unix/Linux卜为 Resident Size。6.1.7网络分析法BytesTotal/sec为发送和接收字节的速率他括帧字符在内)。据此来判

45、断网络瓶颈。用其 值和目前的网络带宽进行比较。更多的可采用其他网络测试工具。6.2应用服务器6.2.1 J2EE服务器622数据库类别计数器名称计数器描述JVMHeap SizeJVM堆大小,Heap FreeJVM可用堆大小JDBC Connection PoolWaiting for ConnectionCurrent Count等待的连接数量。如果持续较大,需要考虑增加 连接池大小。Connectoins Total count总的JDBC连接数Max CapacityJDBC连接池的总容量。ActiveConnectionsCurrent count当前的JEBC连接数ExecuteQ

46、ueueExecute Thread CurrentIdle count空闲的线程数量Pending Request Oldest Time队列请求的最久时间。可判断队列是否有明显的 拥塞情况,Serviced Request TotalCount己处理的请求总数。用来和性能测试后得到的 “单击数”等进行比较。Pending Request Current Count挂起请求的数量。根据不同的应用服务器,计数器不样,具体情况见应用服务器相关资料。MemoryCache Hit Ratio缓存命中率。该值较小。当DB繁忙时,可以根LockTotal Server MemoryPGA Memory

47、/UGA MemoryAverage Wait Time据需要调整它。内存使用情况(仅在SQL Server)Oracle进程内存使用情况。(仅在Oracle)锁平均等待时间Lock Requests/Sec每秒的锁请求数计数器名称Total Processor TimeUser Connections计数器描述数据库进程占用的CPU时间。当前的用户连接数。类别SystemNumber of Deadlocks/sec每秒产生的死锁的数虽。当较大时,极可能出现 死锁I/OOutstanding被挂起的物理读/写。较大时,可能是CPU、磁盘Reads (Writes)I/O 产生了瓶颈。Page Reads/sec每秒页面读写的次数Transact ions/Sec每秒产生的事务数量7性能测试工具架构部件包括:虚拟用户脚本产生器Virtual User Generator压力产生器Player用户代理Agent压力调度和监控系统Conductor压力结果分析工具Analysis8性能测试团队及测试流程8.1团队建设不仅是性能测试,所有的测试都应该有测试团队。在中小企业中.测试团队不仅要负月 性能测试,还包括功能测试、配置测试、安装测试等,除此之外,还要进行bug管理、版本控制等工作。测试是一个项目,从需求、设计、开发、运行、分析、维护到结束,是一个完 整的测试生命周期。团队角

温馨提示

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

评论

0/150

提交评论