BreadcrumbHomeResourcesBlog JMeter 5.5: What It Means & What To Expect July 7, 2022 JMeter 5.5: What It Means & What To ExpectOpen Source AutomationBy Dmitri TikhanskiIn June 2022, Apache JMeter team announced the release of Apache JMeter 5.5, bringing new features, improvements, and bug fixes. This article highlights the noteworthy changes that come with JMeter 5.5, which will hopefully give you a smoother JMeter testing experience. Table of ContentsKey JMeter 5.5 FeaturesBottom LineTable of Contents1 - Key JMeter 5.5 Features2 - Bottom LineBack to topKey JMeter 5.5 FeaturesOpen Model Thread GroupIn addition to JMeter’s “normal” Thread Group, there is a brand new Thread Group implementation: Open Model Thread Group. Open Model Thread Group provides an extremely flexible way to control the workload with methods such as ramp-up, ramp-down, plateau, spikes, pauses, and more. The feature is still experimental, so there might be possible changes in the implementation in the future. Therefore, it is important to consult the up-to-date documentation prior to upgrading to the next version of JMeter, since there may be some breaking changes. With JMeter 5.5, it is also possible to define the virtual user “arrival” rates using human-readable expressions to immediately see the anticipated load in an interactive chart. Here is an example definition:rate(0/sec) random_arrivals(1 min) rate(10/sec)random_arrivals(1 min) rate(10/sec)rate(10/sec) random_arrivals(1 min) rate(0/sec)Will result in:Ramp-up from 0 arrivals per second to 10 arrivals per second in 60 secondsHold the load of 10 arrivals per second for another 1 minuteRamp-down from 10 arrivals per second to 0So the test will last for three minutes, and there will be 600 “arrivals” during the “plateau” phase. Given equal ramp-up and ramp-down phases you can expect 1200 arrivals in total. In the above example, there is only one Dummy Sampler. With two samplers, you will have 1200 executions for each sampler, resulting in 2400 total executions in three minutes.It is important to note that these “arrivals” have nothing in common with active virtual users or with server hits per second. Rather, these arrivals just refer to the “rate” of new threads being kicked off. The interval between new threads starting is random.Java 17 SupportAlthough you could run Java 17 with JMeter 5.4.3 (or even earlier versions), teams could risk getting the following error in earlier JMeter versions with certain Groovy scripts:org.codehaus.groovy.GroovyBugError: BUG! exception in phase 'semantic analysis' in source unit 'Script2.groovy' Unsupported class file major version 61 at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:905) ~[groovy-3.0.7.jar:3.0.7]The reason for this error is that groovy-3.0.7 was released long before Java 17. With JMeter 5.5, you can use Java 17 with any test element without issues:Bolt Request Sampler ImprovementsWith JMeter 5.5, there is a new “Options” section for the Bolt Request sampler.Now it is possible to specify:Access Mode (READ or WRITE). This specification allows teams to choose their database access mode, mostly applying to clustered database instances.Database. It is now possible to explicitly specify the database name, whereas queries previously targeted the default database.Transaction Timeout. It is now possible to set a timeout for database transactions. If the transaction fails to complete within the specified threshold, the sampler will be marked as failed.If Controller and While Controller UI ImprovementsThe JMeter 5.5 “Condition” text area became also much larger to improve code readability for complex multiline conditions:Regular Expression Engine ChangeCurrently, JMeter uses the Jakarta ORO engine for pattern matching in the Regular Expression Extractor, HTTP Request Defaults, Response Assertion, and so on. But with the retirement of the ORO engine, there is ongoing work happening to deprecate it in JMeter. This deprecation means that ORO-based regular expressions will stop working as expected in a future release. If you want to test whether your regular expressions will be impacted by this change you can set jmeter.regex.engine to java in user.properties file and run your test.Back to topBottom LineJMeter is a leading open-source tool loved by thousands of testers and developers, and JMeter 5.5 is sure to accept a warm reception from the user community. BlazeMeter adds to JMeter, offering 100% JMeter compatibility and allowing JMeter users to enjoy additional benefits that add scalability, security, and enterprise capabilities when load testing in the cloud.Explore load testing with JMeter today:Start Testing Now Back to top
Dmitri Tikhanski Contributing Writer Dmitri Tikhanski is a Contributing Writer to the BlazeMeter blog.