LoadRunner参数化情况分析

本文通过具体案例详细解析LoadRunner中的参数化配置方法及其影响,包括更新方式与数据分配方式的不同组合,帮助读者理解如何正确设置参数化以实现更贴近真实的负载测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LoadRunner参数化详解

本文不讲LoadRunnr参数化具体步骤,只分析参数化的组合情况,并用具体数据来一步步分析各种情况,如果写的有不对的地方或者不明白的地方,请指出!

1. 为什么使用参数化?

在使用LoadRunner录制脚本的时候,只是记录的从客户端发出到服务器的数据,而在脚本回放或者进行性能测试的时候,如果不进行参数化则并没有真正的模拟真实用户操作。因为一些信息需要每次提交不同的数据,这时候就可以用参数化来模拟真实用户操作,而代替不同请求服务器的数据。

2. 参数类型为FIle/Table的参数值更新方式:

在参数化中,有更新方法(Update Value on)和 数据分配方法(Select next row ),两者结合使用,并且相互影响。

2.1 其中Update value on(更新方式) 有三种:

  1. Each Iteration(每次迭代) : 每次迭代的时候,根据数据分配方法取值
  2. Each Occerrence (每次出现): 每次出现的时候,根据数据分配方法取值
  3. Once(一次): 这个比较特殊,一次,既在同一虚拟用户中,第一次的迭代值将作为后续所有迭代的值

2.2 其中Select next row (数据分配方法) 有三种:

  1. Sequential(顺序取值) : 从数据表中顺序取值(接着上次取值)
  2. Random (随机取值) : 随机的取值
  3. Unique(唯一) : 也比较特殊,保证了用户的差异,也就是保证值的唯一

2.3 两者组合

****Sequential顺序取值Random随机取值Unique唯一
Each Itertion (每次迭代)针对每次迭代,都会顺序取值针对每次迭代,都会随机取值对于每次迭代,都会保证值的唯一
Each Occurrence(每次出现)参数每次出现,都会顺序取下一个值,即使在同一迭代中参数每次出现,都会随机取值,即使是在同一迭代中参数每次出现,都会取新的唯一值,即使在同一迭代中
Once(一次)第一次迭代出现的值将作为后去所有迭代的值第一次迭代随机分配的值将作为后续所有迭代的值第一次迭代非陪的唯一值将作为后续所有迭代的值

一起来分析一下为什么会出现这样的情况吧

3.具体数据演练各种组合情况

– 组合1

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现2次
  3. 组合方式:Sequential+Each Iteration
    (每次迭代的时候,都会接着上次的值,同一迭代出现多次,不会重新取值
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1aabbccddeeaa
用户2aabbccddeeaa
用户3aabbccddeeaa
用户4aabbccddeeaa
用户5aabbccddeeaa

– 组合2

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现2次
  3. 组合方式:Sequential+Each Occurrence(每次出现都会接着上次取值)
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1abcdeabcdeab
用户2abcdeabcdeab
用户3abcdeabcdeab
用户4abcdeabcdeab
用户5abcdeabcdeab

– 组合3

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现2次
  3. 组合方式:Sequential+ once
    (前面提到过,once比较特殊,不做解释)
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1aaaaaaaaaaaa
用户2aaaaaaaaaaaa
用户3aaaaaaaaaaaa
用户4aaaaaaaaaaaa
用户5aaaaaaaaaaaa

– 组合4

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现1次
  3. 组合方式:Random + each Iteration
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1eaaecd
用户2acebed
用户3bdaaea
用户4aeebca
用户5eadceb

– 组合5

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现2次
  3. 组合方式:Random + each Occurrence
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1eaaaaceacada
用户2aacdaebaeedc
用户3beddacaebaab
用户4eaedbddbcdaa
用户5ecaaddceeaba

– 组合6

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现1次
  3. 组合方式:Random + once
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1eeeeeeeeeeee
用户2aaaaaaaaaaaa
用户3bbbbbbbbbbbb
用户4dddddddddddd
用户5cccccccccccc

– 组合7

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现1次
  3. 组合方式:Unique + each Iteration + continue with last value+ Automatically allocate bloce size (当到了某个用户值不够的时候,就将上次迭代的值作为该用户后续迭代的值)
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1abcdee
用户2
用户3
用户4
用户5

– 组合8

  1. 九个参数:a,b,c,d,e,f,g,h,i
  2. 五个虚拟用户,六次迭代,值在脚本中出现1次
  3. 组合方式:Unique +Each Iteration + continue in a cyclic manner + Automatically allocate bloce size (当到了某个用户值不够的时候,循环取值)
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1abcdef
用户2ghighi
用户3
用户4
用户5

– 组合9

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现1次
  3. 组合方式:Unique + each Iteration + continue with last value+ Allocate 3 values for each Vuser (每个用户分配三个值,当不够分配的时候,最后一次迭代的值将作为后续迭代的值)
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1abcccc
用户2deeeee
用户3
用户4
用户5

– 组合10

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现2次
  3. 组合方式:Unique + each Occurrence + continue with last value+ Allocate 3 values for each Vuser (每个用户分配三个值,当不够分配的时候,最后一次迭代的值将作为后续迭代的值)
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1abcabcabcabc
用户2dededededede
用户3
用户4
用户5

– 组合11

  1. 五个参数:a,b,c,d,e
  2. 五个虚拟用户,六次迭代,值在脚本中出现1次
  3. 组合方式:Unique + Once
虚拟用户迭代取值迭代取值迭代取值迭代取值迭代取值迭代取值
用户1aaaaaa
用户2bbbbbb
用户3cccccc
用户4dddddd
用户5eeeeee

总结

  1. 不难发现,使用Unique的时候,可能会造成值不够的情况,所以用这个的时候要保证有足够的值能取到。其实使用这个为了保证用户不能在同一时间多处登陆
  2. 而使用sequence的时候,刚好相反,可以保证用户在同一时间多处登陆
  3. 可以看的出Once的权限比较大,一旦使用这个就不用考虑该用户在后续迭代的值了
  4. 不要死记每种组合情况,只要记住六个值的作用就行.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值