Search code examples
http-headersjmeterload-testingthroughputmetric

Jmeter Body of PUT request Bytes throughput Over Time


My goal is to get Bytes throughput Over Time metric more accurate.

General sense of my load test:

  1. Load files with a GET HTTP request from localhost, save content of files as different variables like ContentVar.
  2. Start PUT loop. Place ${ContentVar} in body of PUT requests.

When I analyze the resulting jtl file I can see the correct "Bytes" at the very beginning when I load the files. (i.e. 1MB file I load will show 1MB of bytes at that step). However the put requests all show 493-494 Bytes even though they have the content of the files in their request bodies.

I would think that these PUTs should represent the size of the file I'm loading into the PUT request + a little extra for header etc.

What is going on? Not sure if this is relevant, but the Tree Listener doesn't show the contents of the PUT Body. I'll see:

PUT data:
<actual file content, not shown here>

In version 2.x I was able to see the content of the raw HTTP request. Changing view.results.tree.max_size doesn't seem to help. Not sure if this has anything to do with low byte count.

I'm using jmeter v3


Solution

  • This is an identified "bug":

    https://bz.apache.org/bugzilla/show_bug.cgi?id=60092

    It will be fixed for upcoming 3.1, you can try the patch attached to issue.

    It's cause is this fix in 3.0:

    https://bz.apache.org/bugzilla/show_bug.cgi?id=58852