https://issues.apache.org/bugzilla/show_bug.cgi?id=47865

Jakub <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |NEW

--- Comment #3 from Jakub <[email protected]> 2009-09-24 12:06:20 PDT ---
Yes it's true. If this is problem HashMap<Number, Long> can be used instead of
array as a internal container for data but performance will be lower so I chose
array because performance was my target. 
If you think that this listener (or DistributionGraph) should be used in long
(even days) stress test with high throughput then you can assume that response
time is very low probably less than 1s so this listener will work correctly and
efficiently.
BacketStatCalculator is optimized to work as a data model for DistributionGraph
and doesn't slow down the test because it gives information about number of
occurrences of each sample (value) without any extra calculation.



BTW. I created all those listeners because when I was testing my application
after 2 minutes when jmeter collected about 100 000 samples throughput was
started fall from 800 req/s to 300 req/s after several minutes. At the
beginning I'd thought it was a problem with my application but then I realized
that when I cleared collected samples in jmeter throughput was again about 800
req/s (for about 2 min ;)). Aggregate report was the bottle neck but 90% line
is very useful and I need it (extra I need 99% and 99.9% line) so I created
UpgradedAggregateReport that can calculate some approximation of 90, 99 and
99.9% line. I realized that I can calculate exactly  value of those lines and I
created BacketStatCalculator (performance can be a bit lower than
UpgradedStatCalculator).

Just to summarize before I made any optimization, jmeter with 30 thread could
generate about 2000 req/s to my application (after few minutes throughput was
dropping) after I made some optimization in listeners, integration with
javascript, used collections and thread synchronization in jmeter code, jmeter
can generate about 7500 req/s. Nowadays I can make tests that take 48h or more
and collect 600 000 000 samples and I can save 3 server (currently 1 machine
can generate load equals to 4 machine previously).

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to