• 性能基础知识学习之二---代理,参数化


    一,代理录制

      可以解决录录制时脚本是空的问题或者录制时浏览器打不开等问题

    代理录制三步设置:

    1.lr录制选项设置代理

    tools-recording optins-port mappint

    terget server被测服务器地址 port端口号,默认80,有时候是8088,

    traffic forwarding随便上输入一个不常见的端口号,比如 2355

    2.lr录制选择代理的exe

    lr录制自带的代理浏览器

     3.ie开启浏览器代理 代理的端口号跟lr里设置的代理端口号一致

    工具--Intetnet选项--连接--局域网设置

    二,做参数化的意义

    什么叫做参数化:把参数动态的使用数组里面的值

    为了更加真实的模拟用户操作,但是在使用过程中的原因是:

    1,应用程序做了唯一性校验

    2,为了避免数据库的校验该值得唯一性

    3,为了避免走缓存导致的数据失真

    参数化步骤:

    1.再脚本中选择要进行参数化的内容

    2.右键--replace with a paramter 

    3.填写参数名.点击ok按钮后,所选择的需要参数化的部分变成了红色

         

    4.选择open paramters list,在弹出的对话框中对将要参数化的值进行添加

    5.当多个参数放在同一个文件时,注意文件之间的对应,并选择by name方式 

        

    首先先介绍一下数据取值方式和更新方法

    1.select next row(选择下一行方法):

    Sequential 默认 顺序的,按照参数化的数据顺序,从上往下一个一个的来取。
    Random 随机取,参数化中的数据,每次随机的从中抽取数据。
    Unique 唯一,唯一的向下取值,只能被用一次。

    Same line as xxx ,和xxx列取同一行的值,(行相同)步调一致

    例如:数据a b c d e f g ...,现有3个用户(甲乙丙)取值;循环2次。
    A) 顺序方式:甲(a, b) 乙(a, b) 丙(a, b)
    B) 唯一方式:甲(a, b) 乙(c, d) 丙(e, f)
    如果是注册,采用唯一方式,用过了就不能再用,如果数据重复会报EOF
    C) 对于单用户来说,顺序和唯一取值序列是相同的

    2.Update value on: 更新方式

     Each iteration 默认 每次迭代时取值 (常用)
    Each occurrence 每次遇到该参数时取值
    Once 取值仅一次,脚本运行过程中只取值一次值的是:一次选择,终身不变

    3、When out of values: 选择Unique才需要考虑这个选项,数据不足时处理情况,表示取值越界后的处理方式

     

    Abort Vuser   放弃虚拟用户,不再取值
    Continue in a cyclic manner  以循环的方式继续,当参数化文件中的值取完最后一个值后,又从参数化文件的第一行开始取值。
    Continue with last value    当参数化文件中的值取完最后一个值后,持续一直最后一个值 。4.

     4.

    各种组合情况下的取值,例如:参数化文件有10个数据分别是 1,2,3,4,5,6,7,8,9,10.现有1个用户取值,迭代次数为11次。

     下面用一个例子说明参数化策略

    脚本:

    顺序:

    第一种取值策略 顺序+每次迭代(迭代时才会触发值得变更条件)取值分析 触发值得变更条件是什么,触发值变更条件后怎么取值

     

    随机:

    唯一:

    三.练习题 

    1.银行流水号 参数化

    10个并发 跑 10分钟

    1个用户跑---tps=10, 服务器tps无限大

    1*10*10=100   10个用户每秒钟跑100个

    100*10*60=60000的数据

    一共10个用户60000/10=6000

    2.银行流水号 参数化

    10个并发 跑 10分钟

    1个用户跑---tps=10, 服务器MAX(TPS)=50

    1*10*10=100   10个用户每秒钟跑100个>MAX(tps)

    但是服务器每秒只能处理50个,多的要下1秒进行处理

    50*10*60=30000   服务器10分钟处理的请求

    30000/10=3000

    ————————————————
    原文链接:https://www.cnblogs.com/panpan0301/p/8605182.html

  • 相关阅读:
    212-@Slf4j注解起到了什么作用?
    212-如何实现定时器扫描?
    211-redis单线程问题?
    211-Feign中的@RequestParm与@RequestBody注解的使用
    210-java加载类的时候,发生了什么了呢?
    209-thymeleaf简单使用
    JS自定义 Map
    java Main方法 获取 maven 的resource 下的xml文件
    springboot+thymeleaf 访问静态资源解决(static)
    两个list 合并后去除掉重复removeAll()的,然后再随机获取最后list中的 几个值
  • 原文地址:https://www.cnblogs.com/mawenqiangios/p/12573755.html
Copyright © 2020-2023  润新知