https://issues.apache.org/bugzilla/show_bug.cgi?id=54717
Bug ID: 54717
Summary: BatchSampleSender/StatisticalSampleSender slows thread
handling down
Product: JMeter
Version: 2.9
Hardware: PC
Status: NEW
Severity: normal
Priority: P2
Component: Main
Assignee: [email protected]
Reporter: [email protected]
Classification: Unclassified
Because the BatchSampleSender/StatisticalSampleSender synchronizes the whole
sampleOccurred() method it blocks the threads of each thread group.
The differences of the generate load can be seen using the
DiskStoreSampleSender. In our case it was a factor of 3 faster. But this one
could not be used striped therefore the request body is stored and will be send
at the end (in our case several GB of data).
Although the AsynchSampleSender blocks several times on queue.offer() if the
traffic could not be send fast enough to the client - which might also be a
problem of sending the big request body too.
I suggest to decouple all sample senders from working threads, using a rather
simple idea:
Store the (stripped) sample in a ConcurrentHashMap grouped by the current
thread name and send it by one (ore more) worker thread(s) to the client.
There is no need to block the load generating threads doing their job.
--
You are receiving this mail because:
You are the assignee for the bug.