Aha, I saw the new added form field in nightly build.
With this option set, I can see jsr233+groovy's tps about 30% greater than 
beanshell .
Thank you for your reply.

Regards
Joey He

> Philippe Mouawad [mailto:[email protected]] 
> 2013年1月15日 14:20
> [email protected]
> Re: Scripting language performance
>
>In nightly build,f you don't add cache key and use text area then script is 
>not compiled so perfs are not good.
>Adding a unique cache key is enough to make the script compiled when language 
>is compilable as groovy is.
>jsr223.compiled_scripts_cache_size just controls the size of cache, increase 
>its value if you have more than 100 different jsr223 element.
>
>In 2.8, To make compilation active, put script in external file.
>
>
>In my opinion and according to the results I get, conclusion is :
>
>- in 2.9=> use jsr223 + groovy in text area+  cache key or as below if you are 
>ok to put your script code in external file
>
>- in 2.8 => use jsr223 + groovy script in file
>
>Regards
>Philippe
>On Tuesday, January 15, 2013, He Yin(测试部_贺寅) wrote:
>
>> Hello,
>>   In the previous test, I put the script code in text area. I guess 
>> that makes the different.
>>   I re-ran my tests under JMeter nightly build, with script codes in file.
>> The results show that jsr223 +groovy ran very well with rsp around 
>> 1ms, and beanshell sampler became a little slower, not that slow like yours.
>>
>>   I'm not understanding the cache key you said, is that about "
>> jsr223.compiled_scripts_cache_size" in jmeter.properties?
>>
>>   Whatever, do we have some conclusion here? Like better use 
>> JSR223/groovy with code in file or beanshell if code directly put in 
>> textarea.
>> I think in most cases we just put code in textarea for convenience.
>>
>>
>> >Philippe Mouawad [mailto:[email protected] 
>> ><javascript:;>]
>> >2013年1月15日 4:39
>> >[email protected] <javascript:;>
>> >Re: Scripting language performance
>> >
>> >Hello,
>> >I just tested a simple test plan with JMeter nightly build / GUI Mode 
>> >on
>> Mac OSX :
>> >
>> >-server -Xmx512m -Xms512m -Dsun.rmi.dgc.client.gcInterval=600000
>> >-Dsun.rmi.dgc.server.gcInterval=600000  -Duser.language=en
>> -Duser.language=en -Duser.region=EN
>> >
>> >
>> >1)
>> >- JSR223 Sampler with your code
>> >- Aggregate Report
>> >
>> >2)
>> >- Beanshell Sampler with your code
>> >- Aggregate Report
>> >
>> >
>> >Results for JSR223 + GROOVY + Cache key
>> >
>> >Label / Samples / Average / Median / 90%Line / Min  /Max / Error% /
>> Throughput / KB/Sec
>> > JSR223 Sampler / 5000 /
>> >0 / 0 / 1 / 0 / 16 / 0.0 / 2820.1 / 0.0 Results for Beanshell Sampler 
>> >:
>> >Label / Samples / Average / Median / 90%Line / Min  /Max / Error% /
>> Throughput / KB/Sec  BeanShell Sampler / 5000 / 22 / 21 / 37 / 2 / 136 
>> /
>> 0.0 / 389.9 /
>> >0.0
>> >So for me *JSR223+Groovy+Caching* is way better provided *provided
>> Caching is active*, when it's not then results are the following :
>> >
>> >Label / Samples / Average / Median / 90%Line / Min  /Max / Error% /
>> Throughput / KB/Sec
>> > JSR223 Sampler / 5000 / 99 / 67 / 177 / 7 / 4723 / 0.0 /
>> >86.9 /
>> >0.0
>> >Regards
>> >Philippe
>> >
>> >UBIK-INGENIERIE on TWITTER <https://twitter.com/ubikingenierie>
>> >
>> >UBIK LOAD PACK BLOG <http://www.ubik-ingenierie.com/blog/>
>> >
>> >On Mon, Jan 14, 2013 at 9:24 PM, Philippe Mouawad <
>> [email protected] <javascript:;>> wrote:
>> >
>> >> 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 < 
>> >> [email protected]> 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(测试部_贺寅) 
>> >>> <[email protected]
>> >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.>UBIK-INGENIERIE on TWITTER <
>> https://twitter.com/ubikingenierie>
>> >
>> >UBIK LOAD PACK BLOG <http://www.ubik-ingenierie.com/blog/>
>> >
>>
>
>
>--
>Cordialement.
>Philippe Mouawad.
>

Reply via email to