性能测试笔记

上传人:油条 文档编号:10658504 上传时间:2017-10-09 格式:DOC 页数:41 大小:4.36MB
返回 下载 相关 举报
性能测试笔记_第1页
第1页 / 共41页
性能测试笔记_第2页
第2页 / 共41页
性能测试笔记_第3页
第3页 / 共41页
性能测试笔记_第4页
第4页 / 共41页
性能测试笔记_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《性能测试笔记》由会员分享,可在线阅读,更多相关《性能测试笔记(41页珍藏版)》请在金锄头文库上搜索。

1、2749555640123456789性能测试笔记1. 什么是性能测试软件的功能:对一个软件基本功能能够实现,比如:银行卡能够正常转账成功(用户数=1)软件的性能:要求软件性能更好,一般关注多用户的使用情况,软件的响应时间。响应时间例子:登录一个软件,点击“登录”按钮时,多久能够显示成功登录的页面。性能问题:1 每秒平均浏览量:2200 次/秒浏览量(PV, Page View):即页面访问量或点击量,用户每次刷新即被计算一次购票申请:20 万张/秒以上自身设计浏览量 100 万次/小时 浏览量 280 次/秒2. 响应时间的 358 原则:3 秒之内,客户比较满意5 秒之内,客户可以接受8

2、秒之内,客户可以忍受大于 8 秒,无法忍受3. 一般进行性能测试之前,要对系统尤其是数据库进行备份负载测试是一种 正常 的测试(在正常测试的指标下测出最大的负载量)指标或者某种资源达到某种指标,比如响应时间达到多少,比如 CPU 负载 100%等压力测试和负载测试二者的区别:负载测试强调系统在正常工作情况下的性能指标压力测试的目的是发现在什么条件下系统的性能变得不可接受,发现应用程序性能下降的拐点影响系统性能的主要因素(1) 硬件: CPU,内存,硬盘,网卡及其他网络设备【最好解决】(2) 操作系统(3) 网络(4) 中间件(又叫应用服务器) ,web 服务器(5) 数据库服务器(6) 客户端

3、(7) 变成语言,程序实现方式,算法【最难解决】客户端=服务端( Web 服务器) =应用服务器= 数据库服务器性能测试主要关心两个部分:web 服务器和应用服务器。客户端向服务器发送请求服务器端向客户端返回应答(响应 response)性能测试的常用术语:并发(Concurrency):所有用户在同一时刻(一个时间点,可以精确到毫秒级)做同一件事情或操作,一般针对同一类型的业务例如:在信用卡审批业务中,一定数目的用户在同一时刻对已经完成的审批业务进行提交做并发的测试就称为“并发测试” 。 【发测试不包含睡眠时间】在线(OnLine):多用户在 一段时间内对系统执行操作【包含睡眠时间】并发测试

4、与在线测试对系统的压力不同,一般来讲并发测试的压力和在线测试的压力的比值是 10:1 。例如:200 用户并发测试相当于 2000 用户在线测试。并发测试一定是多用户。请求响应时间指从客户端发送一个请求开始计时,到客户端接到从服务器端返回的响应结果计时结束。在一些工具中,请求响应时间通常被称为 TTLB 即“Time to Last Byte”,意思是从开始发送第一个请求开始,到客户端收到最后一个字节的响应为止所耗费的时间。请求响应时间的单位一般为“秒”或者“毫秒”再复杂的响应时间都可以分为 3 段:请求的响应时间=客户端的响应时间+网络的响应时间+服务器的响应时间一般测试放在内网里,带宽,网

5、络不会成为瓶颈。只用分析客户端的响应问题和服务器的响应问题。一般客户端的响应很少有问题,一般只分析服务器响应问题即可。事务响应时间:用户完成某个具体事务(如跨行取款事务)所需要的时间。事务可能包含多个请求。比如点击“登录”按钮,到登录进页面。事务的响应时间和请求响应时间的区别?一个事务包含一个或多个请求(一般,一个请求指的是一个 http 请求) 。点击率:每秒钟用户向 web 服务器提交的 http 请求数。-点击率越大,对服务器的压力也越大-注意:点击不是指鼠标的一次“单击”操作。因为在一次“单击”操作中,客户端可能向服务器发出多个 HTTP 请求(比如跳转页面需要更新展示图片等) 。点击

6、量的计算:假如单击“登录”按钮,请求一个页面登录后的欢迎页面中包含 3 个图片,则每个图片都需要重新发送一个 http 请求,所以,单击鼠标一次产生的 http 请求总数为4=1(登录请求)+3 (图片请求)点击率=点击量/时间吞吐量:用户在任意给定一秒从服务器端获得的全部数据量,单位是字节吞吐量/传输时间=吞吐率吞吐率很重要,反应了服务器的处理速度和性能,也是衡量网络性能的重要指标。TPS(事务数 /秒)在性能测试过程中,要监控服务器系统的各项资源情况,比如:CPU,内存,磁盘及网络等情况。吞吐率和点击率的区别:吞吐率:指服务器每秒处理的数据量。反应了服务器的处理能力,吞吐率越大,服务器处理

7、能力越强。点击率:客户端每秒向服务器发送请求的数量。反应了服务器的压力,点击率越大,服务器的压力越大吞吐率受点击率影响,也受服务器性能的限制。完美的吞吐率是:在带宽充足的情况下,吞吐率随着点击率的增加而增加。资源利用率指对不同的资源系统的使用程度,包括 web 服务器,操作系统,数据库服务器,网络,硬件,是测试和分析瓶颈的主要参数-如:服务器 cpu 利用率,磁盘利用率等它是分析系统性能指标进而改善性能的主要依据,因此是 web 性能测试工作的重点。性能测试的策略(即方法):重点测试方法:基准测试,并发测试,综合场景测试,疲劳强度测试,极限测试,递增测试基准测试:一般做的是单用户测试(Benc

8、hmark Testing )-指测试环境确定以后,对业务模型中涉及的重要业务做单独的测试。-目的是获取单用户执行时的各项性能指标,为多用户并发和综合场景等性能测试分析提供参考依据。并发测试:就是多用户的并发测试某个测试点。并发测试对系统要求比较严格,因为要模拟一个瞬间压力。并且要忽略系统的睡眠时间(思考时间) 。递增测试:A)指每隔一定时间段(如 5 秒,10 秒)加载不同数目的虚拟用户执行测试点操作,对测试点进行递增用户压力加载测试。原因:所有用户(5000)共同登陆可能会导致系统压力过大,进而影响到后面关心的测试点(buy)的性能,导致关心的测试点结果不准确,所以采取递增,分散一下前面的

9、压力,使系统关心的测试点能够正常的测试。 (这里是递增着登陆)B)测试一个测试点(如:购票) ,先测试单用户,再测试 20 用户,40 用户等情况,有利于分析,也称为递增测试。 (这里是递增着全套测试)综合场景测试【重难点】:通过对系统结构和功能的分析,对用户的分布和使用频率的分析,来构造系统综合场景的测试模型,模拟不同用户执行不同操作。如 10%的用户执行浏览首页, 50%的用户执行查询订单, 40%的用户执行订购机票,最大限度地模拟系统的真实场景,使用户预知系统投入使用后的性能水平。没特别指明的话,一般都是指在线的。Login 不适合放在综合场景中运行。综合场景:号称能最真实的模拟实际的生

10、产环境。如测试时间为 50 分钟,则综合场景中的每个脚本都是在循环执行。所以综合场景中不宜加入 login 测试点,因为不能真实模拟实际的生产环境。疲劳强度测试:是一种特殊的强度测试(压力测试) 。指在一定的压力下(如:相同的用户数)长时间(疲劳)对系统进行测试,并监控服务器的各项资源情况。如:7x24 小时,24小时(如移动电信银行的服务器) 。测试其服务器的稳定性:指长时间的运行过程中,系统的各项资源及时间等指标表现是否正常。内存泄露:系统的服务器内存都被占用,而没有释放。导致系统没有可用内存。内存泄露测试:通过 LR 监控时查看具体的几项指标,或者通过其它的专门内存泄露检测工具测试。数据

11、容量测试:查看系统服务器能否实现大数量下使用情况,系统的各项资源表现情况。如:200G,或者 3 个 T。极限测试:也叫“摸高测试” ,测试系统的极限,如系统最大能承受的用户数,吞吐量等。虚拟用户:Virtual Users控制台:Controller分析工具:AnalysisLoadRunner 的三大组件:虚拟用户脚本生成器(Virtual User Generator )-Creat/Edit Scripts【Generator:生成器】压力调度控制台(Controller)-Run Load Tests压力结果分析器(Analysis)-Analyze Test ResultsQTP(

12、功能自动化的工具)和 LR(性能测试工具)的区别:QTP 关心的是功能方面,LR 关心的是性能方面。QTP 关心界面的控件属性(对象,对象的属性,属性值等)等,LR 关心的是客户端和服务器之间往来的数据包。LR 的工作原理:录制时,LR 记录客户端和服务器二者之间的所有对话(数据包) ,形成脚本,回放时,LR模拟真实的客户端,向服务器发送请求。并验证服务器的响应。LR 是怎么记录下数据包的:(1)基于局域网的广播原理。 【这种用的很少】(2)基于一种嗅探原理 sniffer。 【目前在用的方式】虚拟用户脚本生成器:是用来生成脚本的LR 的常用术语:虚拟用户(Virtual User 【简称 V

13、U】 ):在场景中,loadRUnner 用 VU 代替实际用户。Vuser 模拟实际用户执行操作。一个场景可以包含几十,几百甚至几千个 Vuser。 (每个虚拟用户是一个进程或者线程,一般用的是线程)Vuser 脚本(Virtual User Script):用于描述 VU 在场景中执行的操作。 (记录的客户端发送的请求。 )事物(Transaction):为度量服务器的性能,需要定义事务。事务表示要度量的最终用户业务流程或操作。为何要定义事务:因为脚本中将关心的操作(如购票)定义为一个事务,则结果报告中(analysis)就会返回事务的响应时间。不关心的操作就不需要定义成事务。场景(Sce

14、nario):场景是一种文件,用于根据性能要求定义在每一个测试回话运行期间发生的事件。模拟真实环境中,用户运行的情况。 【将脚本放到控制台去运行(包括设置各种参数) 】综合场景:将不同的脚本,至少 3 个放到控制台去共同运行一段时间。具体定义见 PPT。测试注意:-设置 IE(清楚浏览器缓存):进入工具Internet 选项 常规设置每次访问此页面时检查-LR 中修改参数:进入 ControllerRunTime SettingTnternet Protocol Proxy,选择No Proxy。Jojo /bean LR 基本测试流程:制定性能测试计划(部分) 创建测试脚本 编译,运行测试脚

15、本 【VUG 】创建场景运行,监控场景,收集数据【Con 控制台】生成测试报告,分析测试结果【analysis】 最好用英文命名小技巧:弹出结果日志文件Transaction 事务将一个操作设置成事务的目的:获取操作的响应时间(在 analysis 报告里)在带宽充足的情况下,完美的吞吐率应该随着点击率的升高而升高。反过来,当服务器压力过大服务器处理能力不足时,吞吐率会随着点击率的增高而保持恒定或者降低,那么点击率也会受到相应影响而变慢。即吞吐率和点击率是相互影响的。脚本生成器可以模拟 1 个用户,多用户一定要用控制台来实现。 (控制台就是来生成管理多用户的。 )基准测试是单用户测试,可用脚本

16、生成器(生成的调试结果是没有响应时间的) ,但是也还是需要控制台。因为结果要写到报告里。 (结果生成器 analysis 得出单用户测试的结果,比如响应时间等等)疲劳测试和综合场景测试的区别就是时间的长短,疲劳测试运行的时间会长一些。只要业务逻辑不变(操作不变) ,则不需要重新调试脚本,回归测试中可以直接利用原来脚本。调试脚本时请频繁保存副本,因为 LR 回退键效果不是很好。脚本必须现在脚本生成器进行运行,执行通过 将脚本放入控制台,在控制台执行完毕后生成结果报告总的吞吐率服务水平等级协议报告中事务响应时间的标准方差值:越趋近于 0,说明系统越稳定(每一项事务的响应时间非常相似)90percent:表示 90%的事务都可以在该响应时

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号