satkumar
satkumar

Reputation: 119

JSR223 Preprocess performance issue Jmeter

I have an scenario to measure login function performance for that i have used JSR223 preprocessor to encrypt my password using Javascript its around 2000 Line of code it works fine it encrypts the password successfully, i can able to login using my script it works fine in small number of users.

If we go for an large volume of users script finish first 3 steps very fast once it reaches JSR223 preprocessor thread it takes long time to process it makes delay in performance test.

Any suggestion to fine tune this process ?

Already i have configured the cache size as 1024 even though it takes long time to execute.

For 600 Users it takes 1hr +++ time to finish the process with 1 Master and 3 slaves environment.

Upvotes: 2

Views: 1471

Answers (2)

UBIK LOAD PACK
UBIK LOAD PACK

Reputation: 34516

Javascript should be avoided for Load Testing.

The best option is to use:

  • Groovy

  • Check Cache Compilation Key

  • Enter a unique key per Test element

This will make JMeter compile the script leading to most optimal performances, read this for more informations:

If you're looking to learn jmeter correctly, this book will help you.

Upvotes: 1

Dmitri T
Dmitri T

Reputation: 167992

JavaScript is not the best language to use with JSR223 PreProcessor, it's being run via Rhino or Nashorn engine and your expression is being evaluated all the time from scratch using not very performant way.

According to JMeter Best Practices it is recommended to use Groovy scripting engine. Assuming good configuration you will be able to get groovy scripts compiled into native JVM bytecode hence performance will be much higher than for JavaScript.

In order to get Groovy support in Jmeter you just need to

  1. Download groovy-all.jar
  2. Drop the file to "lib" folder of your JMeter installation
  3. Restart JMeter

See Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! guide for more detailed explanation and scripting best practices.

Upvotes: 0

Related Questions