jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Mouawad <philippe.moua...@gmail.com>
Subject Re: Scripting language performance
Date Mon, 14 Jan 2013 20:24:16 GMT
Hello,
Sorry I read your mail too fast.
My questions:

   - Where did you put the Groovy script code (in text area or in file )?


Could you try it with JMeter nightly build ?

Thanks
Regards
Philippe

On Mon, Jan 14, 2013 at 12:37 PM, Philippe Mouawad <
philippe.mouawad@gmail.com> wrote:

> Hello,
> I would be very interested in the Test Plan you used.
> Which version did you use ? Nightly or 2.8 ?
> If 2.8, where did you put the script code (in text or in file )?
>
> The tests I made (where the script part was not very consequent)  showed
> JSR223 + GROOVY + CACHING as the best option and showed better results than
> Beanshell.
>
> I am not surprised about javascript not being the good one but other
> results surprise me a bit.
>
> Regards
> Philippe
>
>
>
>
>
>
> On Mon, Jan 14, 2013 at 11:16 AM, He Yin(测试部_贺寅) <heyin@yihaodian.com>wrote:
>
>> Sorry, I'm not used to writing in plain text mode and missed my signature~
>>
>> Best regards,
>> Joey He
>>
>> >Hello,
>> >  In another thread, I noticed Philippe mentioned that " JSR223 Samplers
>> + Groovy  + Caching" is a better choice then Beanshell. Since I used a lot
>> of Beanshell in my scripts and never pay attention to it, I decided to make
>>  an investigation of this issue.
>> >  I simplified one of my beanshell script, rewrited it into groovy and
>> rhino and put them into script-samplers instead of  pre-processors.
>> >The result turned out that
>> >1) Beanshell is better than other solutions
>> >2) Groovy and javascript will cause some gc problems.
>> >3) Groovy is the slowest.
>> >3) BSF and JSR223 seems that waste some cpu time on their framework.
>> >
>> >Am I  doing something wrong?
>> >
>> >(Thread:10, Loop 500)
>> >Label  Samples Average Median  90%     Min     Max     Error%
>>  Throughput      KB/sec  GC occurs
>> >JSR223-groovy  5000    59      39      119     6       3077    0
>> 145.2137546     0       1~2
>> >JSR223-rhino   5000    2       1       2       0       314     0
>> 851.9338899     0       frequently
>> >BeanShell Sampler      5000    1       1       2       0       402     0
>>       1068.832835     0       0
>> >BSF-beanshell  5000    33      27      63      3       328     0
>> 270.6506441     0       0
>> >BSF-javascript 5000    20      6       44      1       640     0
>> 324.7174958     12.68427718     frequently
>> >
>> >Environments: JMeter 2.8,
>> >Uncomment " jsr223.compiled_scripts_cache_size" in jmeter.properties
>> Groovy version: groovy-all-2.0.6
>> >JVM_OPTS:
>> >  set HEAP=-Xms512m -Xmx512m
>> >  set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
>> >  set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
>> >  set TENURING=-XX:MaxTenuringThreshold=2
>> >  set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000
>> -Dsun.rmi.dgc.server.gcInterval=600000
>> >  set PERM=-XX:PermSize=64m -XX:MaxPermSize=64m
>> >
>> >Script for Beanshell and groovy:
>> >for (int i=0;i<10;i++){
>> >  line="1027448,1".split(",");
>> >  pid=line[0];
>> >  mid=line[1];
>> >  vars.put("pid"+i,pid);
>> >  vars.put("mid"+i,mid);
>> >}
>> >cartParam="";
>> >for (int i=0;i<10;i++){
>> >  pid=vars.get("pid"+i);
>> >  mid=vars.get("mid"+i);
>> >  param=mid+"_"+pid+"_"+"0_0_1=1";
>> >  if (cartParam=="")
>> >    cartParam=param;
>> >  else
>> >    cartParam+=","+param;
>> >}
>> >vars.put("cartParam",cartParam);
>> >
>> >Script for rhino and javascript:
>> >for (var i=0;i<10;i++){
>> >  line="1027448,1".split(",");
>> >  pid=line[0];
>> >  mid=line[1];
>> >  vars.put("pid"+i,pid);
>> >  vars.put("mid"+i,mid);
>> >}
>> >var cartParam="";
>> >for (var i=0;i<10;i++){
>> >  pid=vars.get("pid"+i);
>> >  mid=vars.get("mid"+i);
>> >  param=mid+"_"+pid+"_"+"0_0_1=1";
>> >  if (cartParam=="")
>> >    cartParam=param;
>> >  else
>> >    cartParam+=","+param;
>> >}
>> >vars.put("cartParam",cartParam);
>> >
>>
>>
>
>
> --
> Cordialement.
> Philippe Mouawad.
>
>
>


-- 
Cordialement.
Philippe Mouawad.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message