1.性能测试的分类:
我在这里划分为客户端性能和服务器端性能。服务器性能测试:站点访问速度,所承受的用户量,业务处理速度等。客户端又包含程序启动耗时,处理数据速度,画面的流畅度,电量,流量等。客户端性能测试工具在这里好像也只能说说安卓方面的了:leakcanary,GT,iTest等等,安卓测试唯一缺点就是没有那么的真机。在工作中,你会时不时的在公司群上吼“有没有iPhone x(不是广告)借来测试”,加上拿着别人手机弄坏了也不好。现在也有好多平台开始做云真机了公司实力比较雄厚可以去testin云测、QQ的wetest,一堆平台。服务器性能测试工具主说两个LoadRunner和jmeter,如果java学的比较好可以去搞搞jmeter。应为它开源可以根据需要疯狂去扩展他方便自己的测试。。。当LoadRunner入手是比较快的,唯一不好的是很多人学习都是死在安装上面。web方面标准不会出事的有win7+ie9了。如果你的项目是手机方面或websoket通信比较“潮”的应用去下LoadRunner12吧。
2.LoadRunner四大组件
2.1四大组件-Virtual User Generator
VuGen虚拟用户生成器:以 “录制-回放”的方式工作。当在应用程序中执行业务流程步骤时, VuGen 会将所做操作录制到自动化脚本中,并将其作为性能测试的基础。
原理:通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端。
2.1四大组件-Controller
Controller场景控制器:
1.它是控制程序以手动和目标两种方式设计场景。便于测试过程更加接近用户实际使用的场景,使性能数据更加有说服力。
2.也是监控程序可以监听和采集性能指标和计算机资源,并可制定衡量标准(SLA 服务水平协议)。
2.1四大组件-Load Generator
LG负载生成器:进行测试过程中每个模拟动作都是需要消耗系统资源,如:cpu,内存,磁盘空间等。然一个台计算机的资源是有限的,往往成为测试的瓶颈。负载生成器就是为其提供硬件资源的机器(计算机)。
原理:Controller机与LG机通过Agent进程进行通信,将编译好的脚本传送到LG机上然后使用Player进程执行脚本,Player进程数就是虚拟用户数。
2.1四大组件-Analysis
Analysis分析器:进是对测试结果数据进行分析的组件,保存着大量用来分析性能测试结果的数据图,可以根据实际情况选择相关的数据视图进行分析,分析结果可以生成一些不同格式的测试报告
原理:LG机运行玩脚本后回记录数据反馈,控制机通过设置报告级别整理合并生成一个小型的数据库,可通过设置分析内容得到结果用图表展示。
3.测试流程
包括 4个阶段:规划、创建脚本、定义和执行场景和分析结果。
·规划阶段:定义性能测试要求,例如包括并发用户数量、典型业务流程和要求的响应时间。
创建脚本:创可通过录制+编写用户行为脚本,其中主要流程选择协议、录制设置、定义事务、验证事务、设置关联、参数化、运行设置。
定义和执行场景:选择运行脚本、生成负载、选择场景类型、制定负载、设置阈值(SLA)、运行方案、监控负载资源。
分析结果:选择分析文件(lra)、合并筛选图、生成报告。
4.LoadRunner性能分析与调优
4.1性能摘要术语
每秒事务数(TPS / Transactions per Second) 指一秒内事务状态标识为完成的数量。
事务响应时间(Transactions Response time)从事务开始到事务完成耗费的时间。
点击数、点击率(Hits / Second) 客服端向Web服务器发的http请求数
网络吞吐量(Throughout) 单位时间内的吞吐能力
4.1性能摘分析
1.本次测试运行的最大并发数为6,总吞吐量为240,254字节,平均每秒的吞吐量为2,310字节,总的请求数为190,平均每秒的请求为1.827,对于吞吐量,单位时间内吞吐量越大,说明服务器的处理能越好,而请求数仅表示客户端向服务器发出的请求数,与吞吐量一般是成正比关系。
2.事务方便全部满足定义的SLA设置内且全部通过,90分位的相应时间是1.531满足2/5/8原则。
2秒内响应,会让用户感觉系统很快;
2~5秒内响应,感觉速度还行;
5~8或10秒内响应,感觉慢但兴许还能接受。
超过8或10秒,会让人无法接。
作者第一次发而且还是很懒所以更加详细和有配图的去下载:https://pan.baidu.com/s/1o7AtzPw