lunahaha527 发表于 2014-9-4 11:21:20

用循环实现脚本参数,但在用场景时,用多用户时如何设置取值的唯一性

本帖最后由 lunahaha527 于 2014-9-4 13:14 编辑

用循环实现脚本参数,但在用场景时,用多用户时如何设置取值的唯一性
比如脚本如下:
    int j ;      
   char str;
   for(j=1;j<=3000000;j++){
          itoa(j,str,10);
          lr_save_string(str,"L111");
          lr_output_message("==str:=%s==L111:=%s====",str,lr_eval_string("{L111}"));
······
    URL=http://192.1.1.1:80/xx.xml;url='{L111}'
```````
}
请问设置多用户并发时,如何让各个用户取到的数据不冲突,保证是唯一的呢?

授客 发表于 2014-9-4 11:21:21

授客 发表于 2014-9-23 12:51
你应该是设置了多次迭代,你一次迭代看看

这样,你按我的,如果你设置5次迭代,那么block设置为5,为2次则设为2,依次类推,那么每个用户取值就自动分配唯一值。。。这下算是给你解决了,应该可以给分了~~

lunahaha527 发表于 2014-9-4 11:30:46

不要再发参数设置了,我这个是用脚本循环的。是想问在哪边控制或用语句实现虚拟用户和这个参数的关联
如果有好的,一定奖分

lunahaha527 发表于 2014-9-5 09:10:54

别沉啊

msnshow 发表于 2014-9-7 20:22:15

无法保证的,有2个办法可以帮你解决
1、用时间做为参数,那肯定能保证唯一
2、用参数组合来实现

lunahaha527 发表于 2014-9-9 13:36:11

msnshow 发表于 2014-9-7 20:22
无法保证的,有2个办法可以帮你解决
1、用时间做为参数,那肯定能保证唯一
2、用参数组合来实现

能否请详细谈谈用时间做为参数的实现方法?

lunahaha527 发表于 2014-9-9 13:37:08

参数组合,当我需要几天,业务量又比较高时。可能自己光做参数文件就要做好长时间,而且用EXCEL累加还容易出错。很是不方便呢。如果是短时间的测试还成。

msnshow 发表于 2014-9-10 20:25:58

取得vuser id 和参数组合就OK了

lunahaha527 发表于 2014-9-16 17:07:34

msnshow 发表于 2014-9-10 20:25
取得vuser id 和参数组合就OK了

能不能讲详细一点儿呢,或者给个介绍链接什么的。版主,你每天只回短短几句,作为菜鸟实在学不会呀:D

lunahaha527 发表于 2014-9-16 17:14:39

难道版主说是的这个。可怎么把ID和时间组合呢?

授客 发表于 2014-9-16 19:08:32


Action()
{
    char * unique_num;
    unique_num = NULL;
    unique_num = lr_eval_string("{unique_number}");
    lr_output_message(unique_num);
    return 0;
},,
你自己想做啥,按这个去弄下吧。。~~赶紧,给分

授客 发表于 2014-9-16 19:22:56

本帖最后由 授客 于 2014-9-16 19:24 编辑

如果要设置对应你上面对应的输出,这个也好办

Action()
{
    char * unique_num;
    unique_num = NULL;
    unique_num = lr_eval_string("{unique_number}");
    lr_output_message("==str:= %s==L111:=%s",unique_num,unique_num);
    return 0;
}


对了,,你场景记得设置对应的用户数,,

lunahaha527 发表于 2014-9-23 09:53:17

本帖最后由 lunahaha527 于 2014-9-23 10:00 编辑

授客 发表于 2014-9-16 19:22
如果要设置对应你上面对应的输出,这个也好办

Action()


怎么对应用户数呢?
尝试了,目前是五个用户。但是会大量失败呀。
Error: Parameter 'NewParam_6': All values in unique block already used. Block size is 1. The Vuser is aborted according to "When Out Of Values" policy.


授客 发表于 2014-9-23 12:46:42

lunahaha527 发表于 2014-9-23 09:53
怎么对应用户数呢?
尝试了,目前是五个用户。但是会大量失败呀。
Error: Parameter 'NewParam_6': A ...

~~,你的用户数在哪里设置的?要在场景中。。。你直接vugen当然报错那个错。。。。

授客 发表于 2014-9-23 12:51:37

lunahaha527 发表于 2014-9-23 09:53
怎么对应用户数呢?
尝试了,目前是五个用户。但是会大量失败呀。
Error: Parameter 'NewParam_6': A ...

你应该是设置了多次迭代,你一次迭代看看

hundu 发表于 2014-9-23 15:20:20

取值不是可以在LR里面设置的吗

sushe2009 发表于 2014-9-29 16:38:23

数据用excel拖一下,足够数据,然后将select next row设置为uniq,即可。
但每次测试结束,进行下一轮,需要修改数据。

云层 发表于 2014-10-7 10:44:42

这个问题i一开始的策略就有问题,导致你现在处理起来麻烦

1.多用户之间的唯一需要通过参数化,那么参数化就是用unique来做,单数数据量大了是没法处理的
2.你要做循环,其实用LR的迭代不是也很好么,如果你非要处理所谓的某个编号的帖子,那么你不如直接用随机数
3.性能测试你又不是注册,其实有些重复的访问数据也没啥问题,重复率不要太高就行了
4.你还纠结那么就用系统时间+vuserid来做,这样就能保证每个参数的值都唯一了

授客 发表于 2014-10-7 18:53:13

云层 发表于 2014-10-7 10:44
这个问题i一开始的策略就有问题,导致你现在处理起来麻烦

1.多用户之间的唯一需要通过参数化,那么参数 ...

按我那个已经可以了,我都试过,他自己拖着不给分。。。。。。

云层 发表于 2014-10-8 12:09:35

授客 发表于 2014-10-7 18:53
按我那个已经可以了,我都试过,他自己拖着不给分。。。。。。

分乃身外之物。淡定。
页: [1] 2
查看完整版本: 用循环实现脚本参数,但在用场景时,用多用户时如何设置取值的唯一性