性能分析流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
性能分析流程
第一步:从分析Summary的事务执行情况入手。
Summary主要是判定事务的响应时间与执行情况是否合理。如果发现问题,则需要做进一步分析。
通常情况下,如果事务执行情况失败或者响应时间过长等,都需要做深入分析。
查看分析概要时的一些原则:
1.用户是否全部运行,最大运行并发用户数是否与场景设计的最大运行并发用户数一
致。如果没有,则需要打开与虚拟用户相关的分析图,进一步分析虚拟用户不能正
常运行的详细原因;
2.事务的平均响应时间、90%事务最大响应时间用户是否可以接受。如果事务响应时
间过长,则要打开与事务相关的各类分析图,深入地分析事务的执行情况;
3.查看事务是否全部通过,如果有事务失败,则需要深入分析原因。很多时候,事务
不能正常执行意味着系统出现了瓶颈;
4.如果一切正常,则本次测试没有必要进行深入分析,可以进行加大压力测试
5.如果事务失败过多,则应该降低压力继续进行测试,使分析更容易进行;
6.…未完待续
第二步:查看负载发生器和服务器的系统资源情况
查看CPU的利用率和内存使用情况,尤其要注意查看是否存在内存泄露问题。这样做是由于很多时候系统出现瓶颈的直接表现是CPU利用率过高或者内存不足。
应该保证负载发生器在整个测试过程中其CPU、内存、带宽没有出现瓶颈,否则测试结果无效。
待测试服务器,重点分析测试过程中CPU和内存是否出现了瓶颈:
●CPU需要查看其利用率是否经常达到100%或者平均利用率一直高居95%以上;
●内存需要查看是否够用以及测试过程是否存在溢出现象(对于一些中间件服务
器要查看其分配的内存是否够用)
第三步:查看虚拟用户与事务的详细执行情况
在前两步确定了测试场景的执行情况基本正常后,接下来就要查看虚拟用户与事务的执行情况。
对于虚拟用户,主要查看在整个测试过程中是否运行正常,如果有较多用户不能正常运行,则需要重新设计场景或者调整用户加载与退出方式再次进行测试。
对于事务,重点关注整个过程的事务响应时间是否逐渐边长以及是否存在不能正常执行的事务。
总之,任何用户或者事务的执行细节都应该认真分析,不能轻易忽视。
虚拟用户与事务分析的常用准则:
●虚拟用户如有失败,则要查明原因:
在整个测试过程中,所有的虚拟用户是否一致稳定运行并成功执行全部事务。如果
仅有一个用户或者部分用户能够正常运行,则说明测试脚本可能存在问题。
●对于失败的事务首先要分析其失败的原因,接着要查看事务的失败是否导致了用户
失败;(怎么去判断?)
●判断用户是否可以接受事务平均响应时间值以及90%用户的最大响应时间值;
●查看这个测试过程的事务平均响应时间是否逐步变大,正常情况下,事务平均响应
时间的变化是接近于平行X轴的一条直线;(如果不是,是什么原因引起的?)
●事务响应时间是否在整个测试过程中随着用户的增加而线性变短。正常情况下应该
是,当一定范围内的用户并发时,事务响应时间应不会有太大变化;
●服务器每秒通过的事物总数、某一事务每秒通过数是否稳定,如果整个测试过程基
本不变,则要分析是服务器达到了上限,还是Generator产生的压力到达了上限;
(如果变化了,则会说明什么问题?)
●按照迭代次数来运行的场景,要分析通过的事务总数是否与设定的一致。如果不一
致,则可能是测试脚本存在错误,也可能是待测试程序存在功能错误,应该在调整
后再次进行测试;
●…未完待续
Analysis对虚拟用户和事务提供了非常强大的跟踪功能,可以跟踪每一个用户及其
相关事务的执行情况。这些内容可以再Analysis菜单“Reports->Crystal Report”下
找到。
第四步:查看错误发生情况
整个测试过程的错误发生情况是分析重点。
查看错误发生情况的常用准则:
●查看错误发生曲线在整个测试过程中是否有规律,如果是,则意味着程序在并发处
理方面存在一定的缺陷。
●查看错误分类统计,作为优化系统的参考。例如Web性能测试,当出现瓶颈时往
往需要查看服务器的错误统计信息结果:如果“超时错误”到达90%以上,可能需
要提高硬件配置;如果有较多的“内部服务器错误”,则可能是程序方面存在问题。第五步:查看Web资源与细分网页
本步骤仅适合Web性能测试。查看Web资源图时,往往需要结合前面对虚拟用户以及事务响应时间的分析结果,重点分析服务器的稳定性。
对于网页细分功能则应遵循如下原则:
●首先分析从用户发出到收到第一个缓冲位置,哪些环节比较耗时;
●其次找出页面中哪些组成部分对用户响应时间影响较大;
●在页面的性能问题定位后,就可以采取相关的解决方案。