性能测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、性能测试概论

所有软件和系统都要做性能测试,关键是要思考应该做到什么程度。

只有并发用户数对系统才产生压力。

并发:同一时刻做同一种操作;同一时刻不同操作。(混合场景)

响应时间=网络请求时间+服务器处理时间+网络响应时间+页面前端解析时间;

每秒点击数:每秒向WEB服务器提交的HTTP请求数。点击一次不代表一个请求。

思考时间:每个请求或者操作之间的间隔时间。预估系统性能,就最大的模拟真实的思考时间,如果要了解最大承受能力或极端情况下的系统性能表现,可设置0思考时间。

基准测试:通过基准测试建立一个已知的性能水平,称为基准线。当软硬件变化之后再做一次基准测试,以确定那些变化对行的影响。基准测试指标通常都保存或归档,比如数据库的系统配置和环境配置都归档。

负载测试:负载测试是为了发现性能问题,性能测试是为了获取性能指标。

现网性能测试:压力机需要和被测服务器部署在同一个网段机房内,避免网络限制。测试完成后要进行垃圾数据的清理。时间选择半夜或凌晨来进行。

曲线拐点模型:

二、脚本

1、脚本录制时保持浏览器干净,不要安装多于的插件。

2、录制脚本不要使用浏览器的“后退”按钮。

3、脚本中extrares中的内容是无关的就删除。

4、脚本中extrares中的内容有关,如果要完整模拟用户操作那么要保留。

5、脚本回放结果查看:View->Test Results查看。

6、脚本增强:检查点,注册函数(带reg的函数)放在实际提交请求操作之前。

文本检查点:Web_reg_find()

图片检查点:web_image_check(),属性值src,指定图片的相对路径。

检查点功能选项默认是关闭的,调试可使用,场景运行关闭。(run-time setting ->preference: Enable Image and text check)

7、参数化:Select Next Row : Sequential(顺序取行),

Update value on :Each iteration(每次迭代都要取新值)

8、关联

自动关联:Vuser-> Scan script for Correlations(不推荐,会存在扫描不到的情况);

手动关联:

寻找关联点:录制两份相同业务流程的脚本Tools->Compare with Script比较,一般不一样的地方需要考虑关联;

关联只一般藏在HTML的hidden标签里。

关联函数:web_reg_save_param();

9、逻辑判断函数

Intatoi(要转换成整型的字符);

Lr_eval_string(“{当前想要获取的参数名}”)

10、日志不报错,也不表示脚本就是正确的,可查看真实数据以及日志判断,也可通过

自带浏览器回放查看。(Tools->General Options ->Display)

11、脚本

//文本检查点,检查用户名

Web_reg_find(“Text=besttest”,”SaveCount=besttest_count”,LAST);

//增加事务

Lr_start_transaction(“login”);

//提交登陆请求

…….

If(atoi(lr_eval_string(“{besttest_count}”)))!=0)

Lr_end_transaction(“login”,LR_PASS);

else

Lr_end_transaction(“login”,LR_FAIL);

12、日志:脚本调试时打开日志,在Controller运行脚本时关闭。

Run-time settings->log:Ebable logging.

13、集合点:lr_rendezous(“集合点名称”);

集合点并不能模拟真正意义上的并发,由于网络等多种因素的影响并不能同一时刻到达服务器,扔有先后差异。

三、Controller(LR的“心脏”)

场景类型:Manual Scenario(手工场景) Goal-Oriented Scenario (基于目标的场景)

IP欺骗:当系统限制了同一个IP用户在短时间内对系统进行而已或大量的请求访问时就使用IP欺骗,一般系统而言,是否使用IP欺骗不影响性能测试。Tools->IP Wizard:create new setting; Scenario->Enable IP Spoofer.

IP 释放:Remove后重启计算机。

添加windows压力机:压力机与controller所在机器要同一网段,防火墙关闭;本地系统RPC服务开启。

场景设计:Simultaneously(快增长)。

四、分析

概要图:从全局角度查看系统性能表现以及数据汇总。单位时间的吞吐量越大,说明服务器的处理能力越好。

事务:Std.Deviation该值越大,说明该事务越不稳定,起伏比较大,当标准差比较大时,一般选择90%的响应时间。

运行的虚拟用户图:与其他图表合并查看分析才有意义,分析出虚拟用户的增加对其他指标的产生什么影响。如何平均事务响应时间合并。

错误描述统计:重点查看的图表。

Timeout 提示:通过调大run-time setting中的http-request connect timeout、http-request receive timeout 和step download timeout三个参数的值来解决。

事务图:事务图的分析师站在用户角度进行的,主要关注响应时间。如果走势变化波动比较大,没规律可言,一般选择90 Percent time.通常我们关注最大响应时间和平均响应时间。

每秒通过的事务数:TPS 曲线如果变换缓慢或者有平坦的趋势,很可能是服务器开始出现瓶颈。

每秒点击数:虚拟用户向Web服务器提交的HTTP请求数,通常和其他指标合并看。

一般请求数越大,平均响应时间也越大,反之,可能是网络问题导致。请求数增加,通过的事务数也会随之增大,反之说明服务器处理可能存在瓶颈。

HTTP返回状态码:50X(服务器错误),40X (请求错误),30X (重定向) ,20x ( 成功)。

每秒HTTP响应数:每秒从WEB服务器返回的不同的HTTP状态码的数量一般和每秒点数量相同,如果服务器的响应数小于点击量,那么说明服务器无法应答,超出负载的连接请求。

每秒连接数:连接数越多,说明服务器的连接池越大,上连接数随着负载上升而停止时,说明系统的连接池已满。通常会返回504错误,需要修改服务器的最大连接数来解决问题。

连接数:当连接数到达稳定状态而事务响应时间迅速增大时,添加连接可以使性能得到极大提高。

图表的合并与关联:在选中的一张图表上右击,然后选择Merge Graphs选项,再选择要合并的图表即可。要查看某段时间内系统的表现,可用图表的自动关联,图右击,选择Auto Correlate.出现自动关联图表对话框。

测试报告:编写报告要清楚报告是给哪些人看的,给领导和给技术人员的报告是完全不

相关文档
最新文档