• 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解决脚本里的乱码

  • 相关阅读:
    phpcms后台进入地址(包含No permission resources错误)
    phpmyadmin上传大sql文件办法
    ubuntu彻底卸载mysql
    Hdoj 2602.Bone Collector 题解
    一篇看懂词向量
    Hdoj 1905.Pseudoprime numbers 题解
    The Python Challenge 谜题全解(持续更新)
    Hdoj 2289.Cup 题解
    Hdoj 2899.Strange fuction 题解
    Hdoj 2199.Can you solve this equation? 题解
  • 原文地址:https://www.cnblogs.com/laosun0204/p/10841411.html
Copyright © 2020-2023  润新知