You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@jmeter.apache.org by bu...@apache.org on 2014/12/06 22:27:03 UTC

[Bug 57321] New: (r1642603)BackendListener does not working correctly in master-slave configuration

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

            Bug ID: 57321
           Summary: (r1642603)BackendListener does not working correctly
                    in master-slave configuration
           Product: JMeter
           Version: Nightly (Please specify date)
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: Main
          Assignee: issues@jmeter.apache.org
          Reporter: bhatt.chaitanya@gmail.com

BackendListener reports metrics from only 1 slave, it fails to aggregate
results across multiple slave instance.

I had 4 slave instance which generates about 1000 TPS (aggregate), with each
instance contributing 250TPS (responses/sec). However, with InfluxDB as the
backend client and Jmeter BackendListener as the data source, I see only 250
TPS as the aggregate TPS instead of 1000 TPS.

Here is the influxdb query i used: "select value from  jmeter.cumulated.total
where time > now() -5m"

InfluxDB output:
time    sequence_number    value
1417900538000    1    250
1417900537000    1    250
....


ThreatGroup
|
|
TransactionController
---|
   |
   HTTPTestSample
|
|
BackendListener






BackendListener Config is as below:



     <BackendListener guiclass="BackendListenerGui" testclass="BackendListener"
testname="Backend Listener" enabled="true">
          <elementProp name="arguments" elementType="Arguments"
guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="graphiteMetricsSender" elementType="Argument">
                <stringProp
name="Argument.name">graphiteMetricsSender</stringProp>
                <stringProp
name="Argument.value">org.apache.jmeter.visualizers.backend.graphite.TextGraphiteMetricsSender</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
              <elementProp name="graphiteHost" elementType="Argument">
                <stringProp name="Argument.name">graphiteHost</stringProp>
                <stringProp
name="Argument.value">jmeterInfluxDBHost.ie.bigcorp.net</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
              <elementProp name="graphitePort" elementType="Argument">
                <stringProp name="Argument.name">graphitePort</stringProp>
                <stringProp name="Argument.value">2003</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
              <elementProp name="rootMetricsPrefix" elementType="Argument">
                <stringProp name="Argument.name">rootMetricsPrefix</stringProp>
                <stringProp name="Argument.value">jmeter.</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
              <elementProp name="summaryOnly" elementType="Argument">
                <stringProp name="Argument.name">summaryOnly</stringProp>
                <stringProp name="Argument.value">false</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
              <elementProp name="samplersList" elementType="Argument">
                <stringProp name="Argument.name">samplersList</stringProp>
                <stringProp>HTTPTestSample</stringProp>
              </elementProp>
              <elementProp name="percentiles" elementType="Argument">
                <stringProp name="Argument.name">percentiles</stringProp>
                <stringProp name="Argument.value">90;95;99</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp
name="classname">org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient</stringProp>
        </BackendListener>

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports partial results in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |55932

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports partial results in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

--- Comment #13 from Chaitanya Bhatt <bh...@gmail.com> ---
Created attachment 32289
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=32289&action=edit
Final graphana result screenshot confirming proportional increase in throughput
after adding more slave instances

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports partial results in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|BackendListener reports     |BackendListener reports
                   |wrong number of Active      |partial results in
                   |Users in master-slave       |master-slave configuration
                   |configuration (nightly      |(nightly build r1642603)
                   |build r1642603)             |

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

--- Comment #4 from Philippe Mouawad <p....@ubik-ingenierie.com> ---
@Chaitanya Bhatt, 
could you give us feedback on the new nightly build ?
Thanks
Regards

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

--- Comment #10 from Philippe Mouawad <p....@ubik-ingenierie.com> ---
Hi Chaitanya,
First thanks for your early tests, they really help a lot.
Regarding your proposal, can you raise a discussion on dev mailing list
mentionning this Bugzilla.
Having each backendlistener its data is possible I think but it is an important
change.
Maybe the next step once this feature is fully operational (not a lot work as
is seems)

Regards
Philippe

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

--- Comment #8 from UbikLoadPack support <su...@ubikloadpack.com> ---
Hi Chaitanya,
I found issue, I will be implementing the fix in upcoming days.

Thanks for your tests

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports partial results in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

--- Comment #12 from Chaitanya Bhatt <bh...@gmail.com> ---
Woohooo!!! Issue Fixed! Result looks beautiful! Awesome! Awesome! Awesome!

Great work!

Regards,
Chaitanya M Bhatt

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] (r1642603)BackendListener does not working correctly in master-slave configuration

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |NEEDINFO
                 CC|                            |p.mouawad@ubik-ingenierie.c
                   |                            |om

--- Comment #1 from Philippe Mouawad <p....@ubik-ingenierie.com> ---
Hi,
Are you using distributed mode or running 4 independant jmeter instances ?

Thanks

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Chaitanya Bhatt <bh...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #7 from Chaitanya Bhatt <bh...@gmail.com> ---
(In reply to Chaitanya Bhatt from comment #6)
> Created attachment 32285 [details]
> Grafana output
> 
> Notice that there is no effect on the Total transactions reported to
> InfluxDB by the BackendListener even after bumping up the thread.

Philippe,

To add more info on this issue: 
The cumulated total,success an failure value does not seem to show values from
more than 1 jmeter agent when executed in distributed mode. 
I confirmed this by running a query against InfluxDb:
select sum(value) from jmeter.cumulated.total where time > now() - 10m
immediately after finishing the test and saw that the query returned only half
as much many of transaction executed.

For comparison purpose I had the summary report listener turned ON, which
reported accurate metrics and this helped me prove that there is indeed a
discrepancy in BackendListener. 

However, the fix in r1643716 seems to have fixed the cumulated thread count
issue. It does reflect total thread accurately when run in distributed mode.

I also suspect individual success and failure metrics are also not accurate.
However, I am

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Philippe Mouawad <p....@ubik-ingenierie.com> ---
Date: Sun Dec  7 20:38:33 2014
New Revision: 1643716

URL: http://svn.apache.org/r1643716
Log:
Bug 57321 - BackendListener reports wrong number of Active Users in
master-slave configuration (nightly build r1642603)
Bugzilla Id: 57321

Modified:
   
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/UserMetric.java
   
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java
    jmeter/trunk/xdocs/changes.xml

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Chaitanya Bhatt <bh...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|FIXED                       |---
     Ever confirmed|1                           |0

--- Comment #5 from Chaitanya Bhatt <bh...@gmail.com> ---
(In reply to Philippe Mouawad from comment #4)
> @Chaitanya Bhatt, 
> could you give us feedback on the new nightly build ?
> Thanks
> Regards


Philippe,

You have done a mind blowing job! I verified that the cumulated  metrics for
response time and users are working fine. However, I am still not sure about
the "success" and "total" columns. I see a huge discrepancy in the "total
success / second" reported by BackendListener and the perf wrapper which I use
to aggregate results form slave instances.  

I am doing a lot of R&D on this, I will promptly let you know the results.

Once more, this feature is such a big leap for Jmeter; I just cannot enumerate
the number of benefits this feature offers the user community.

Brilliant work!!!

Chaitanya M Bhatt

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] (r1642603)BackendListener does not working correctly in master-slave configuration

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

--- Comment #2 from Chaitanya Bhatt <bh...@gmail.com> ---
(In reply to Philippe Mouawad from comment #1)
> Hi,
> Are you using distributed mode or running 4 independant jmeter instances ?
> 
> Thanks

I am running the test in distributed mode. 

Please note that, I confirmed the actual response/second(Throughput) is equal
to 1000 using server side monitoring tool(new relic). 

Feel free to let me know any more tests/artifacts you may require to resolve
this issue.

Regards,
Chaitanya  M Bhatt

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Chaitanya Bhatt <bh...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bhatt.chaitanya@gmail.com

--- Comment #6 from Chaitanya Bhatt <bh...@gmail.com> ---
Created attachment 32285
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=32285&action=edit
Grafana output

Notice that there is no effect on the Total transactions reported to InfluxDB
by the BackendListener even after bumping up the thread.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|Other                       |All
            Summary|(r1642603)BackendListener   |BackendListener reports
                   |does not working correctly  |wrong number of Active
                   |in master-slave             |Users in master-slave
                   |configuration               |configuration (nightly
                   |                            |build r1642603)
                 OS|Linux                       |All

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports partial results in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

Philippe Mouawad <p....@ubik-ingenierie.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #11 from Philippe Mouawad <p....@ubik-ingenierie.com> ---
Date: Sun Dec 14 21:57:17 2014
New Revision: 1645532

URL: http://svn.apache.org/r1645532
Log:
Bug 57321 - BackendListener reports partial results in master-slave
configuration (nightly build r1642603)
Bugzilla Id: 57321

Modified:
   
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
   
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/SamplerMetric.java
   
jmeter/trunk/src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java
    jmeter/trunk/xdocs/changes.xml

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 57321] BackendListener reports wrong number of Active Users in master-slave configuration (nightly build r1642603)

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=57321

--- Comment #9 from Chaitanya Bhatt <bh...@gmail.com> ---
Philippe,

>From a feature design point of view, do you think it would make sense for the
slave instances in distributed mode to directly write "individual sampler
results" to graphite and for cumulated metrics each child instance should
cumulate its results and directly send it graphite as well, leaving Jmeter
master server instance completely free from doing any of these tasks. This
design would be great from a scalability point of view. 

If it is too late to make such changes, then we should at least consider to
make this as an option in the BackendListener, where user could choose to
select Jmeter master to do all the sampler result collection,aggregation and
sending of data to graphite OR could choose an option where all the slave
instances could directly send data to graphite. 

In my opinion, the key to successful adoption of BackendListener is if it
enables Jmeter to overcome its biggest limitation, which is, the ability to
provide a way for the user to collect result metrics without taking a hit on
the performance of Jmeter server itself.

Kindly let me know your opinion. If this is not the right place to carry on
such discussion, please let me know the right forum where I can bring up this
discussion.


Thanks
Chaitanya M Bhatt

-- 
You are receiving this mail because:
You are the assignee for the bug.