Loadrunner性能测试--基础理论(一)
2019-10-25 本文已影响0人
orange_ade
一、性能测试理论知识
1.1、什么系统需要做性能测试
- 单机系统、C/S、B/S 这三类都应该进行性能测试
- 一般C/S架构的应用程序更关注于系统资源使用情况、数据库性能以及运行的配置要求等
- 对于B/S架构的应用程序,会关注Web服务器的相关指标,如每秒点击数、吞吐量、尝试连接数、事务成功率等
- 性能测试并不只能发现性能问题
1.2、性能术语与指标详解
- 一般常用的日志分析工具有AWStats、Webalizer、Analog、DeepLog、Analyzer等
- 响应时间=网络传输(请求)时间+服务器处理(一层或多层)时间+网络传输(响应)时间+页面前端解析渲染时间
- TPS是指每秒通过事务数,是直接反映系统性能的指标,该值大时,系统性能会比较好,当然每个系统都有它的上限,不可能无限大。将它与平均事务响应时间进行对比,可以分析事物数量对响应时间的影响。
每秒点击数代表用户每秒向Web服务器提交的HTTP请求数
吞吐量是指单位时间内系统处理的请求数量,能直接反映服务器承受的压力,是需要重点关注的指标。而吞吐率一般指用户在给定的一秒内从服务器获得的数据量,简而言之就是服务器返回的数据量 - CPU:能反映出系统的繁忙程度,系统CPU是处理系统本身所占用的资源,用户CPU是处理程序所占用的资源
- Load Average:指一段时间内CPU正在处理和等待CPU处理的任务
- Memory:将各种信息收集起来存放,数据从内存中读取要比从磁盘上读取速度快,但内存经常发生内存泄漏或内存溢出,需要重点留意
- 队列:队列长,则说明处理能力可能达到了极限或者遇到了阻塞
- IO:与磁盘的交互,重点关注交换频率和磁盘队列长度
网络:重点关注网络的流量,看是否存在网络带宽的瓶颈
1.3、性能测试分类详解
- 基准测试:基准最简单的理解就是有基础的标准,这样能通过对比发现系统的不同点与变化
- 并发测试:很多用户按照预定的场景并发请求某个业务或功能时是否出现并发问题,几乎所有的性能测试都会涉及并发测试,并发数 = PV/PV Time页面连接次数 * HTTP响应时间因数/Web服务器数量 (PV:页面浏览量 PV Time一天是:86400s 页面连接次数一般为:10s HTTP响应时间一般为:1s 因数默认值为:5)
- 负载测试:可以理解为确定所要测试的业务或系统的负载范围,然后对其进行测试
- 压力测试:可以理解为为没有预期的性能指标,不断地加压,看系统什么时候崩溃,以此来确定系统的瓶颈或者不能接受的性能拐点,以获得系统的最佳并发量、最大并发数。压力测试也可以看作是负载测试的一种,即高负载下的负载测试;通过压力测试,可以更快地发现内存泄漏问题,还可以更快地发现影响系统稳定性的问题
- 稳定性测试:需要在系统成型后进行,并且没有严重的Bug存在,一般都会进行7*24小时的稳定性测试
- 失效恢复测试:一般是对具有负载均衡的系统进行的,在实际应用过程中,可以模拟一台或几台负载均衡机器出现故障来进行失效恢复测试
- 现网性能测试:指在实际网络、实际环境中进行测试,完全和真实用户一样。应尽量避开高峰期,最好不要进行现网性能测试,风险大
1.4、Loadrunner基本组成
- Loadrunner11不支持Windows8系统
- 如果是Windows7系统,请右击鼠标后选择管理员权限进行所有安装操作
- VuGen:是录制与编写脚本的地方,就是通过录制或编写脚本来模拟用户的行为,可以理解为用户行为模拟器,同时会打印出日志信息,方便调试脚本
- Controller:是性能测试场景设计以及监控的地方,让脚本按照预定的规则运行并产生压力,同时监控重要指标等都在此处完成
- Aanlysis:是收集测试数据后生成图表报告的地方
- 提示:推荐使用IE6或IE9,并设IE为默认浏览器,同时选中“浏览器”,之后选择“工具”-->“Internet选项”,在弹出的“Internet属性”对话框中选择“高级”选项卡,在其中选中“启用第三方浏览器扩展”
1.5、深入理解协议选择
- Web类型网站:协议选用HTTP/HTML
- FTP服务器:协议选用FTP
- 邮件服务器:协议选用IMAP(同步邮件电子邮件)、POP3(接收电子邮件)、SMTP(发送电子邮件)
- 以ADO、OLEDB方式连接后台数据库的C/S客户端:协议选用MS、SQLServer、Oracle、Sybase、DB2
- 以ODBC方式连接后台数据库的C/S客户端:协议选用ODBC
- 没有后台数据库的C/S客户端:协议选用Socket