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 11:37:26 GMT
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.

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