jmeter icon indicating copy to clipboard operation
jmeter copied to clipboard

Stripping success result in order to speed up transmit in distributed test mode

Open junyejiang opened this issue 11 months ago • 2 comments

Stripping success result in order to speed up transmit in distributed test mode

Description

If the result is successful, fulfill SIZE information in BODY/HEADER etc, and replace DATA information with NULL. So the result could be smaller than it was.

Motivation and Context

When doing test in distributed mode, each Server will send its result back to Client. If the result size is big and the number of results is big too, it will take time to finish results transmission. Even we find that sometimes when test has already finished, STOP singal has been sent from Client to Servers, both Client and Servers cannot exit because result transmission was still undergoing whitch bocked Client and Servers from exting. If a test result is FAILED, we do need its complete DATA information to do debug after test, we will not strip the result itself. But on the other hand, if a test result is SUCCESSFUL, we need only its SIZE to do static after test, we can trim all the DATA from BODY/HEADER etc.

How Has This Been Tested?

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • [ ] My code follows the code style of this project.
  • [ ] I have updated the documentation accordingly.

junyejiang avatar Jan 13 '25 14:01 junyejiang

Do we save much by excluding dataType, dataEncoding? What if the server part uses data type, encoding, url, and so in via post-processor?

Do we save much by excluding dataType, dataEncoding? What if the server part uses data type, encoding, url, and so in via post-processor?

My previous thinking was that ‘if you want to shrink, you should shrink to a minimum'. But you are right, the most size lies in body and header. Updated as CR.

junyejiang avatar Feb 10 '25 11:02 junyejiang

@vlsi https://github.com/apache/jmeter/pull/6410/commits/b755fde60de4b6f6882e2a380090faf93b5b8c12 Added sample_sender_strip_if_success to swith on/off the strip functionality

junyejiang avatar Mar 05 '25 10:03 junyejiang