loadrunner-----性能测试分析
一、何时需要进行性能测试分析?
1)如果性能测试结束后,所有的结果不哦数据均正常或者符合需求指标,则不需要分析。
2)如果测试结果有问题,则需要分析。
二、性能测试分析的情况及过程
1、如果测试结果没有问题,则不需要分析。
2、如果测试结果中存在较小的问题,则需要从Analysis中查看问题原因,一般容易解决,这需要对结果报告有所了解。
3、如果第二步无法解决的问题,则分析的过程比较复杂。
1)如果一个测试结束后,发现某事务响应过长,该如何解决?
a.首先通过Analysis中的页面诊断图(网页细分图)去查找响应时间长到哪里。响应时间=客户端时间+网络时间+服务器时间。该中情况下,绝大部分都是服务器的瓶颈。
b.通过监控被测系统的所有服务器的性能资源,即服务器资源图。通过该图,可以轻松的判断哪台服务器不正常。
c.服务器一般分为应用服务器(也叫中间件)和数据库服务器。
b.如果应用服务器有问题,修改一些参数即可;大部分的情况是数据库服务器有问题,这种情况一般需要部署专门的服务器监控工具(如oracle的监控工具Quest、Lab128)去监控,可以很轻松的找到底层的数据库问题,如索引、甚至 sql语句的问题。进而进行调优,提升被测系统的性能。
四、页面诊断图
1、页面组件:也称页面元素,指构成页面的组成部分,如文字、视频、音频、动画等等。
2、网页组件细分图 和 网页组件细分图(随时间变化)的区别:
1)前者可以获取到页面中某个组件的平均响应时间。
---从宏观方面
2)后者可以获取到网页中某个组件在整个测试过程中的响应时间的变化情况。
---从微观方面
分析时:以上两张图,相互呼应。比如,如果选择了浏览器Cache,开始时下载较慢,利用了缓存,后来变快了。
3)一般测试中查看的顺序:先宏观了解,在微观分析。
3、Page Download Time Breakdown 页面下载时间细分图
1)DNS解析时间(好比:根据公司名找到主机号码时间)
2)Connection时间(好比:公司找一个客服解析接待的时间)
3)First Buffer时间(好比:获取第一个数据包的时间,很重要)
4)Receive时间(好比:获取到所有数据包的接收时间,从第一个字节开始记录)
问题:First Buffer时间 和 Receive时间 有没有交集?
发送 4K内容,如果First Buffer是8K,则有交集。无需过于区分,因为侧重点不同。
5)SSL握手时间 (只发生在基于Https协议通信的网页上)
6)Client Time (由于客户端引起的延迟)
如:客户端接收信息时间较长、客户端处理响应包的时间较长、客户端显示响应包的时间较长。
7)Error Time (系统页面报错时才发生,不是总有)
8)FTP Time (FTP验证时间:当系统中存在FTP(File Transfer Protocol) 文件传输协议,服务器下载操作时才产生该时间)
响应时间:包括请求后,响应的各个阶段
8项中主要关注4项:
1)DNS(Domain Name System 域名解析系统)
将服务器的域名 和 服务器的IP地址 对应起来的系统,可以将域名解析为IP地址。
http://www.baidu.com --- 192.168.xxx.xxx
域名 好记忆 IP 很具体
2) Connection 连接时间:解析出web server的IP地址后,浏览器请求发送web sever,然后浏览器和web server之间需要建立一个初始化HTTP连接,建立连接的过程就是connection时间。
3)First Buffer 第一次缓冲时间
4)Receive时间可以衡量网络质量情况。如果该时间较长,则一般说明网络不好。如果确定测试环境是内网,网络不是问题,则可能是客户端,也可能是服务器的问题。