jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Casadonte, Joe" <JCasado...@glog.com>
Subject Listeners -- how do you use them?
Date Wed, 14 Apr 2004 20:56:44 GMT
I've mainly used JMeter to put a load on and time HTTP requests for X users,
where X changes over time.  My main goal is to determine if code changes
have affected performance (i.e. regression testing) and to see what our
breaking point it in terms of # of users, and to get an idea what the cause
of the performance problem is (e.g. stress testing).  I'd like to understand
how other people have done similar things, as I believe there might be a
better way to organize my Test Plans.

When I created a test plan (mainly in 1.9.1 -- I'm just starting to use
2.0), I generally had a set of sub-plans, each wrapped in a Simple
Controller (more for aesthetics than anything else).  Under each of those
were more Simple Controllers that contained the HTTP Requests to do a
certain task, plus a Listener writing to a separate file.  Example:


Test Plan
  Thread Group
    User Defined Variables
    HTTP Request Defaults
    HTTP Cookie Manager
    Login [Once Only Controller]
      1A-Fetch-Login [Simple Controller]
        HTTP Request
        HTTP Request
        Listener (writes to 1A-Fetch-Login.jtl)
      1B-Send-Credentials [Simple Controller]
        HTTP Request
        HTTP Request
        Listener (writes to 1A-Send-Credentials.jtl)
    Tests [Simple Controller]
      Edit Order [Simple Controller]
        2A-Fetch-Order-Finder [Simpler Controller]
          HTTP Request
          HTTP Request
          Listener (writes to 2A-Fetch-Order-Finder.jtl)
        2B-Send-Search-Criteria [Simpler Controller]
          HTTP Request
          HTTP Request
          Listener (writes to 2B-Send-Search-Criteria.jtl)
        2C-Edit-Results [Simpler Controller]
          HTTP Request
          HTTP Request
          Listener (writes to 2C-Edit-Results.jtl)
        2D-Save-Results [Simpler Controller]
          HTTP Request
          HTTP Request
          Listener (writes to 2D-Save-Results.jtl)
      Edit Shipment [Simple Controller]
        3A-Fetch-Shipment-Finder [Simpler Controller]
          HTTP Request
          HTTP Request
          Listener (writes to 3A-Fetch-Shipment-Finder.jtl)
        3B-Send-Search-Criteria [Simpler Controller]
          HTTP Request
          HTTP Request
          Listener (writes to 3B-Send-Search-Criteria.jtl)
        3C-Edit-Results [Simpler Controller]
          HTTP Request
          HTTP Request
          Listener (writes to 3C-Edit-Results.jtl)
        3D-Save-Results [Simpler Controller]
          HTTP Request
          HTTP Request
          Listener (writes to 3D-Save-Results.jtl)

[repeat ad nausea]

I then had a perl script which parsed through the resulting XML files and
summed up the elapsed times for each sampleResult within each file,
aggregating it up to a line item in a summary page for the whole task.  I
did it this way so that I could see that it takes 4 seconds to Edit an
Order, but only 2 seconds to Edit a Shipment.  I could then drill into
details to see that calling the FinderServlet for Orders took 1.4 seconds,
while calling the same servlet for Shipments was only 0.6 seconds.  Had all
of the sampleResults been in the same file, I would not have been able to
distinguish them.

So my question to you (if you've read this far), is how do you set up your
test plans and listeners?  Do you even look for the same level of detail,
and if so, how do you get it?  As I said, I'm hoping to learn of a better
way to organize my Test Plans. 

Thanks!

--
Regards,


joe
Joe Casadonte
jcasadonte@glog.com

1016 West Ninth Avenue
King of Prussia, PA  19406
610-491-9881 

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Mime
View raw message