Exception generation is expensive operation so better to not use it whenever possible.
Failed 'Regular Expression Extractor' shouldn't generate an exception as in some cases it might result in additional CPU utilization
Actual behavior
Failed 'Regular Expression Extractor' generate an exception which in turn may result in additional CPU utilization on high failure rate
It contains two runtime controllers. 1st run for 120sec with a dummy sample and successful 'Regular Expression Extractor' (match found) and another last for 10sec with the same dummy sample but failed 'Regular Expression Extractor' (match not found).
Each such match not found generates a java.lang.NumberFormatException. This creates corresponding exception spike with ~7K ops rate and causes extra CPU utilization (in my case it was ~10% user+kernel with 16 logical processors).
As you may see CPU is almost idle when 'Regular Expression Extractor' passed. But as it start failing - large number of NumberFormatException Exception is produced and this increase CPU utilization:
Produced exceptions correlates with the failed 'Regular Expression Extractor'
Expected behavior
Exception generation is expensive operation so better to not use it whenever possible. Failed 'Regular Expression Extractor' shouldn't generate an exception as in some cases it might result in additional CPU utilization
Actual behavior
Failed 'Regular Expression Extractor' generate an exception which in turn may result in additional CPU utilization on high failure rate
Steps to reproduce the problem
Test plan attached. NumberFormatException.zip
It contains two runtime controllers. 1st run for 120sec with a dummy sample and successful 'Regular Expression Extractor' (match found) and another last for 10sec with the same dummy sample but failed 'Regular Expression Extractor' (match not found). Each such match not found generates a java.lang.NumberFormatException. This creates corresponding exception spike with ~7K ops rate and causes extra CPU utilization (in my case it was ~10% user+kernel with 16 logical processors).
As you may see CPU is almost idle when 'Regular Expression Extractor' passed. But as it start failing - large number of NumberFormatException Exception is produced and this increase CPU utilization:
Produced exceptions correlates with the
failed
'Regular Expression Extractor'To narrow down where is it getting from:
JMeter Version
5.6.2
Java Version
openjdk 11
OS Version
No response