DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=37160>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=37160

           Summary: Scalable distributed testing
           Product: JMeter
           Version: 2.1.1
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Main
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


My first problem was, where this small discussions started, was that 
distributed testing was not very scalable, the second problem that I very soon 
discover was that the visualizer (Aggregate Report) where not very 
scalable for long running tests, after only a few hours it were running out of 
memory due to the fact that all samples where stored twice in various 
caluclators to be able to calculate median and 90% 'median'.

Scalable Server
---------------
This was not very hard at all!
First I created a subclass of the SampleSender interface - 
StatisticalSampleSender, working very much like the BatchSampleSender. 
The sample sender creates a statistical SampleResult and dispatches those 
every second or so, configurable as BatchSender (using the same properties).
I also had to modify the SampleSenderFactory to create this new sample sender 
if property mode=Statistical.
This works perfectly fine, I have now been running a JMeter cluster of 8 
servers and the server -> controller communication is not measurable.

This has the limitation that not all the individual sample result were sent 
back, but for long running test, this is a non-issue, at least for us.

Scalable Visualizer
-------------------

I found myself using the aggregate report visulizer and graph listener, so I 
decided to write a scalöable combined visualizer. See the screenshot as 
attachment.

I also wanted to see how the different load servers were doing, so the only 
core change was to the SampleEvent class had to send the hostname it was 
running on back to the controller for each sample.

The visulaizer does not store each sample it receives, and thus the memory is 
not growing at all, I have JConsole connected and after 3 days of continous 
running it was using only 32 MB memory. The graph only stores some limited 
number of values.

This visualizer requires some additional jars from JFreeChart and JNDC.

-----------
New component classes in package: org.apache.jmeter.samplers
------------------------------------------------------------
StatisticalSampleSender - A new SamplerSender implementation, based on 
BatchSamplerSender.
StatisticalSampleResult - A new SampleResult subclass


Changed component classes in package: org.apache.jmeter.samplers
----------------------------------------------------------------
SampleEvent - New field hostname
SampleSenderFactory - New mode='Statistical' to chose the new 
StatisticalSampleSender


New visulaizer i n package se.six.jmeter.visualizers.statagg (should 
propablbly be refactored to org.apache.jmeter.visualizers.statagg.

All classes are new and not enumerated, these are all new additions that does 
not affect any other visualizer. BUT required that JFreeChart and JNDC are 
installed.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to