性能测试中的设置把握的原则:模拟真实场景,并且不给被测系统额外的负载,以免结果数据不正确
- 综合场景测试的准备条件:3个以上的脚本。
- 每个场景run-time setting都要思考为啥这样设置,在综合场景中思考时间也是我们思考的一个,原则事务中不能有思考时间,可以移出或者ignore,但是因为要模拟实际的场景,所以移出比较好。
- 脚本修改完毕,要编译,确认没有语法错误后,准备加入控制台。
- Scenario Schedule 中Schedule by:Scenario(选择)则说明按照这一个场景,即场景中所有虚拟用户统一行动(所有脚本的运行方式都是一样的),而且99.9%的AUT都这样测;Group则说明场景中每个组(执行不同的Vu,一个脚本的用户为一组)分头行动(每组脚本的运行方式单独设置)。同时选中各组Ctrl+鼠标点击。(会出现一个黑框)
- VU部署的设置
1)虚拟用户为10 buy4 look4 login 2
2)递增加载虚拟用户,每隔1s加载一个用户
3)Duration:Run for xdays and xx:xx:xx 半小时
如果有性能需求,则按照需求指标设置运行时间(duration),如果没有具体需求,则按照常规(经验)设置为1个小时(或者50分钟) - Run-time setting—>Shared RTS
1)Pacing:随机6-9(减轻服务器的压力)
2)log:不需要设置(如果调试脚本,可以随时查看日志;如果运行场景,则报错时,发送日志即可。日志也是程序,会对被测系统和磁盘(空间)产生压力)
3) Think time:随机 50%-150%
4) miscellaneous:Error Handling:选中Continue on error
5)若脚本中有web_find、web_image_check则要在Preferences–>check 选中Enable Image and text check
6)Speed Simulation:选择最大带宽,因为如果带宽不足,则lr发出的请求可能会只有部分成功到达服务器端,导致性能测试结果不准确。
7)Brower:Simulate brower cache:不勾选。(严格测试)
8)Preferences—>options
HTTP-request connect timeout(sec)=600,HTTP-request receive timeout(sec)=600,Step download timeout(sec)=600
7.在run中设置Windows Resources【这里只要会设置资源监控,以后会学习读这些资源监控。】
- 如果把CPU比作画家,则画家面前的桌子就是内存,如果内存中找不到想要取的东西,则要跑到地下室去取。该处的地下室就相当于磁盘。
- 内存的运行速度可以是磁盘的成千上万倍。所以我们要尽可能减少磁盘的I/O(磁盘的输入输出,或者叫磁盘的读写),这也是性能测试调优的一个重要原则。
- 磁盘的I/O可以减少,但是不能为0。
- 处理器队列:等待处理的线程(或者进程)。比如:一个理发店3个理发师,来了6名顾客,则3个人要排队,则当前的队列就是3。
综合场景注意:
1)在所有的VU加载过程中,如果有错误,马上停止,因为测试要求是所有VU在线场景,如果没有达到所有VU在线(加载),则无法继续测试。【看Scenario Group中Run】
2)要保证所有的vu都登录成功,后面出错可以继续,若出现大量错误,也要查看原因,必要时停止。
3)有一种错误是正常的:发现有资源为负值。没有问题,表示监控的服务器中有出错的计数器,但是不属于监控的13项。
性能测试过程中何时需要监控资源,何时不需要监控资源
性能测试过程中都需要监控资源,各种类型性能测试都需要监控服务器(若有多态服务器,则每台都需要监控)
①基准测试、并发测试、综合场景测试(在线)、疲劳强度测试要监控资源
②做测试(备用)数据(注册脚本,注册出30个用户,为后面的测试做准备)或背景数据(数据库中的容量数据,比如某大型系统,背景数据时2kw,)时,则不需要监控被测系统,因为还没有开始测试。Schedule by:Group(在实际中用的少,这里只是介绍部署为组时,应该如何设置)
要求:先注册完成,然后再运行其他的脚本30分钟。
注册脚本(迭代10次)、登录脚本、查询脚本、购票脚本
在注册脚本设置中,Start Group:Start immediately after the scenario begins
Duration:Run until completion(因为要迭代10次,并不能确定时间,所以选择此项:直到运行结束)
对于其他的脚本:Start Group:start when 注册 finishes
Duration:Run for 30分钟