zoukankan      html  css  js  c++  java
  • loadrunner事务、检查点、集合点、思考时间

    事务就是一段脚本语句,在进行性能测试时事务很重要,定事务时,首先在脚本中找到事务的开始和结束位置,然后分别插入一个开始事务、结束事务,这样当脚本运行的时候,loadrunner会自动在事务的起始点计时,脚本运行到事务的结束点时计时结束,系统会自动记录这段操作的运行时间等性能数据

    注意事项:事务必须成对出现,事务的名称一定要有意义,如开始事务lr_start_transaction("登录bbs"),结束事务lr_end_transaction("登录bbs", LR_AUTO),事务的名字必须相同,事务中的代码最好只有一个请求,可以把Mode=HTTP,这样保证只有一个请求,或者使用URL录制,一个action尽量放一个接口,如果这个接口要依赖于登录,可以把登录放到init里面,如果action中的请求依赖于别的请求,别的请求也要放在acton里

    文本检查点函数:

    从response里面找出一个固定的字符串作为检查点,步骤是在Tree视图里HTTP View的Response里右键一个固定的字符串,点击Add Text Check Step,弹出如下的对话框,BestTest是刚才右键选中的,Savecount的值随便写,这里写成count了,把找到次数放在count里,其他两个勾选不勾选都无所谓,点击OK就在脚本前面生成了检查点函数,因为是预注册要放在请求前面,检查点就是判断脚本的请求是否正确

     

    为了保证请求的成功率使用检查点,查询操作必须使用检查点,写操作不需要检查点,直接去数据库里比对,比如写100条带标识位的数据到数据库,直接去数据库查询就行,和钱相关以及修改操作Passed Transactions必须是100%,其他业务成功率可以是99%或99.9%或99.99%,Passed Transactions在Controller Scenario里

     

    集合点的目的是加大瞬时并发的概率,所有用户触发集合点后请求下面的代码,秒杀,抢购适合集合点的使用,为了使某个请求并发的概率大一些就把集合点放在请求的前面,放在事务的外面,集合点函数lr_rendezvous("login");

    思考时间的作用:控制单位时间段内向服务器发起请求的数量,以达到控制服务器压力的目的,从而影响测试的响应时间以及tps,lr_think_time(2)

    模拟并发 vu1/vu2/vu3/vu4/vu5,tps=1,处理时间是1s,五个用户的等待时间是0/1/2/3/4s,五个用户的响应时间是1/2/3/4/5s

    Run-time Settings:

    Run Logic Number of Iterations设置几次只是对Action起作用

    Think Time 默认是忽略思考时间,切换到Replay think time

    As recorded:按照录制时的思考时间回放

    Multiply recorded think time by:按照录制时的思考时间的倍数回放

    Use random percentage of recorded think time:按照百分比范围

    Limit think time to:最大设置几秒,超过这个时间就不等了

     

    Pacing 步长的意思

    As soon as the previous iteration ends:上次迭代完成立即开始第二次迭代

    After the previous iteration ends:上次迭代完成开始第二次迭代要等待fixed的时间

    At fixed intervals,every多长时间:这个时间包括脚本运行时间和等待时间(provided that the previous iteration ends by that time)

     

    Log 前提要勾选Enable logging,默认是标准日志,切换到扩展日志

    Parameter substitution:打印出关联、参数化的值

    Data returned by server:服务器返回的结果,相当于一次debug,打印出好多内容

    Advanced trace:高级追踪

    Miscellaneous

    Error Handing的意思是出错处理

    Continue on error是发生错误继续运行脚本

    Fail open transactions on lr_error_message是打印错误信息

    Generate snapshot on error是生成错误快照

     

    Multithreading的意思是多线程

    Run Vuser as a process是以进程模式运行虚拟用户,进程快,默认一个进程包含50个线程,进程模拟ip,做ip欺骗用进程

    Run Vuser as a thread默认是以线程模式运行虚拟用户,线程解约资源

     

    Automatic Transactions的意思是自动的事务,并发时不要勾选下面任何一个

    Define each action as a transaction是定义每个action是一个事务

    Define each step as a transaction是定义每一步是一个事务

     

    Speed Simulation模拟网络带宽,2g时代,现在是5g时代,没啥用

    Browser Emulation模拟浏览器,只勾选下面那个,不走缓存

    Proxy不走代理,No proxy

    Preferences里Options只关注以下几项,UTF-8可能会解决回放时的乱码,录制时options里的UTF-8解决脚本里的乱码

  • 相关阅读:
    C# Net Core 使用 ClientWebSocket 实现 WebSocket 客户端
    C# Net 使用 RSA 加密解密 OpenSSL 生成的密码
    VS 代码提示默认不选中 解决办法
    C# While 超时设置
    C# 比较日期格式中的年月大小
    C#实现QQ邮箱IMAP之邮件处理
    Windwos服务之定时发送邮件(一)
    js基于“合成大西瓜的”碰撞模型(一)
    Windows下,通过运行直接打开软件
    C#爬取国家统计局五级地址
  • 原文地址:https://www.cnblogs.com/laosun0204/p/10841411.html
Copyright © 2011-2022 走看看