场景执行与资源占用协作过程.docx
- 文档编号:30560799
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:16
- 大小:214.69KB
场景执行与资源占用协作过程.docx
《场景执行与资源占用协作过程.docx》由会员分享,可在线阅读,更多相关《场景执行与资源占用协作过程.docx(16页珍藏版)》请在冰豆网上搜索。
场景执行与资源占用协作过程
性能测试执行过程
一、准备脚本
准备本次测试所需脚本,每个业务单独为一个脚本,登录过程放在初始化中,如需对某个业务的某次请求进行性能测试,一般为最后一步提交的请求,需将之前的请求提到初始化中,并在一次调通脚本后将解析服务器返回的内容的脚本注释掉,因为对服务器返回内容的解析包括解密,转码,输出等,应避免一切可能会引起性能差异的点排除。
二、设计场景
按组执行应用
设计场景可以通过按场景执行或按组执行,一般情况我们进行初始探测性测试时会采用按组执行,比如不知道系统的性能情况怎样,可以通过组执行方式来探知,分4个组,每个组按100人,200人,300人,400人,在组内可以以每秒递增方式加载用户,在组执行上可以设定为一个组执行完间隔多长时间进行下一个组的执行,这样最终得到的一个综合结果,可以方便进行数据比较,大致了解系统的整体性能情况。
按组执行不能达到的情况
我们把应用场景稍微扩展一下,假设其中1、3场景只有一个测试脚本,而核心业务场景由数据录入、数据查询、数据上报3个脚本组成,同样的,3个场景仍需按顺序进行测试。
这时如果采用第一种方式,由于第2个场景有3个脚本,所以第三个脚本的启动时间就是一个问题了。
由于Controller中每个脚本都对应一个Group,而且GroupName不能重复,这时第三个场景的StartTime中“Startwhengroupfinished”则只能是选择第二个场景中的某个Group,而并非是第二个场景的3个脚本都完成之后再进行,无法达到我们的初衷。
按组场景执行应用
当已经了解系统性能后可以采用按场景执行,场景设计中可以分多个组进行业务组合测试,主要用于已经得到最佳用户数与最大并发数的情况下进行压力测试,稳定性测试。
新建场景
分别生成ChannelRunHShake.lrs和CollListHShake.lrs两个场景:
ScheduleName:
DefaultSchedule
ScheduleDefinition:
SchedulebySchedule
ChannelRunHShake.lrs
RampUp:
LoadallVsuerssimultaneously
(1)
Duration:
Runfor000:
01:
00aftertherampuphasbeencompleted
RampDown:
StopallVuserssimultaneously
CollListHShake.lrs
RampUp:
LoadallVsuerssimultaneously
(2)
Duration:
Runfor000:
01:
00aftertherampuphasbeencompleted
RampDown:
StopallVuserssimultaneously
点击OK按钮,完成场景执行策略配置。
ScenarioGroups界面显示:
GrpupName:
分别修改为ChannelRunHShake和CollListHShake。
ScriptPath:
为两个脚本存放位置,不能包含中文路径。
Quantity:
场景运行人数ChannelRunHShake(1人),CollListHShake(2人)。
LoadGennerators:
都为localhost。
运行时设置
分别对两个脚本单独进行运行时配置,界面如图:
General
RunLogic:
NumberofIterations:
1
Pacing:
Assoonasthepreviousiterationends
Log:
Enablelogging,Alwayssendmessages,Standrdlog
ThinkTime:
ReplythinktimeAsrecorded
Additionalattributes:
null
Miscellaneous:
Continueonerror,RunVuserasathread
Network
SpeedSimulation:
Usemaximumbandwidth
Browser
BrowserEmulation:
Simulatebrowsercache:
CacheURLsrequiringcontent(HTMLs)
Downloadnon-HTMLresources
Simulateanewuseroneachiteration:
Clearcacheoneachiteration
InternetProtocol
Proxy:
Noproxy(directconnectiontotheInternet)
Preferences:
HitspersecondandHTTPcodes
Responsebytespersecond
Fileandlineinautomatictransactionnames
Non-criticalresourceerrorsaswarings
DownloadFilters:
Incluseonlyaddressesinlist
ContentCheck:
EnableContentCheckduringreplay
结果保存
点击菜单Result-ResultSetting,界面如图所示:
地址为:
D:
\LR_work\test\Analyze
文件名为:
CollListHShake
选中“Automaticallycreatearesultsdirectoryforeachscenarioexecution”
三、Windows添加场景执行计划任务
创建一个批处理程序按先后顺序调用这2个场景进行测试,最后通过Windows的定时任务设定批处理的执行时间。
⏹步骤一:
找到LR安装路径
C:
\ProgramFiles\Mercury\LoadRunner\bin\
⏹步骤二:
批量执行命令
用文本文件编写如下内容:
SETM_ROOT="C:
\ProgramFiles\Mercury\LoadRunner\bin\"
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr1_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr10_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr100_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr200_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr300_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr400_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr500_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr600_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr700_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr800_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr900_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\col_wdzh_usr1000_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr1_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr10_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr100_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr200_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr300_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr400_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr500_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr600_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr700_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr800_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr900_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
%M_ROOT%\wlrun.exe-TestPath"D:
\02exelr\18emp3.2\EMP32_Scenario\0715\chas_zhlb_usr1000_0715.lrs"-Run
sleep60
sleep60
sleep60
sleep60
sleep60
保存为任意文件名,扩展名为.bat。
⏹步骤三:
添加定时系统任务计划
依次点击控制面板-任务计划-添加任务计划,界面如图:
点击下一步,进入如下界面:
通过Browser选择新建的批量处理文件*.bat,点击下一步,进入如下界面:
点击一次性单选按钮,点击下一步按钮,进入如下界面:
编辑要执行的起始时间和起始日期,点击下一步按钮,进入如下界面:
输入本机的用户名密码,点击下一步按钮,进入如下界面:
点击完成按钮,结束计划任务的添加。
⏹步骤四:
执行批量文件
在计划任务时间开始将按照bat文件中场景顺序执行,并按指定结果保存位置进行存放结果文件。
四、Linux添加资源占用执行计划任务
1.在测试之前需将服务器时间与负载机的时间统一。
2.释放服务器内存
3.修改ewp进程号
4.SSH到EWP服务器,192.168.64.56,root,rytong,cd/home/zhanghui/5m/
Crontab–e
编辑:
1,10,20,30,40,5015-181474/home/zhanghui/5m/r.sh
1,10,20,30,40,5015-181474/home/zhanghui/5m/u.sh
1,10,20,30,40,5015-181474/home/zhanghui/5m/t.sh
1:
起始时间
10:
间隔10分钟后时间
20:
间隔10分钟后时间
15-18:
在下午3点到6点之间运行
1474:
7月14日星期四
文件/home/zhanghui/5m/r.sh,/home/zhanghui/5m/u.sh,/home/zhanghui/5m/t.sh内容:
top-b-p10229-d15-n25>>/home/zhanghui/5m/t.log
sar-r1525>>/home/zhanghui/5m/r.log
sar-u1525>>/home/zhanghui/5m/u.log
如果进一步优化可以去掉.sh,直接用Linux的计划任务:
1,10,20,30,40,5015-181474top-b-p10229-d15-n25>>/home/zhanghui/5m/t.log
1,10,20,30,40,5015-181474sar-r1525>>/home/zhanghui/5m/r.log
1,10,20,30,40,5015-181474sar-u1525>>/home/zhanghui/5m/u.log
五、结果回收验证
场景结果:
由于两个场景的结果文件单独保存,进入各自保存地址打开结果文件,事务响应时间从TransactionSummary中的分别事务中读取平均值Average,每秒事务数TPS从TransactionsperSecond中分别读取。
资源占用结果:
对于log文件全部采用追加方式,r.log和u.log文件每次会将当前统计的计划条数进行计算平均,每次可以直接读出结果,对于top命令需要从命令结果头中读取cpu空闲,需要从进程行读取进程占用内存,所以需手工统计。
Cpu优化:
top-b-p22020-d15-n25|grep-E'(^top|^Cpu|beam)'>a.txt
top改进结果:
top-b-d2-n5|awk'/^Cpu/{now=strftime("%I:
%M:
%S",systime());printnow":
"$0}'>>cpu.txt
tail-5cpu.txt|awk'{sum+=$6}END{print"CPUidleAverage=",sum/5,"%"}'>>cpu.txt
top-b-p22020-d2-n5|awk'/beam/{now=strftime("%I:
%M:
%S",systime());printnow":
"$0}'>>beam.txt
tail-5beam.txt|awk'{sum+=$10}END{print"beamCPUusedAverage=",sum/5,"%"}'>>beam.txt
tail-6beam.txt|awk'{sum+=$11}END{print"beamMEMusedAverage=",sum/5,"%"}'>>beam.txt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 场景 执行 资源 占用 协作 过程
![提示](https://static.bdocx.com/images/bang_tan.gif)