jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Finch, Sam" <SFi...@espeed.co.uk>
Subject JMeter & Asynchronous Testing
Date Tue, 13 Apr 2004 15:53:57 GMT
Hi

I am trying to use the Java sampler to load-test a class implementing an
asynchronous messaging interface.

The class has two methods:

  /** Send  a message. */
  send(String msg);

  /** Add a listener for incoming messages returned in response. */
  addListener(Listener l);

send() returns instantly.  addListener() expects a listener object that
contains an onEvent() callback following the usual pattern.  The class uses
thread pooling internally.

I need to test round-trip times for a variety of messages under different
load conditions, with the following constraints:

 - Every message will (eventually) receive a reply.
 - The target system is expected to process several messages at a time.
 - The target system makes no guarantee about the order of replies.
 - Outgoing messages contain a sequence #, which is returned in the reply.

Responsiveness is measured by the time elapsed between calling send() and
being called by onEvent(), for requests and responses with the same sequence
number.

So, how should I do this in JMeter?

I am tempted to implement it by providing a simulated synchronous interface
to a Java sampler.  The thread would appear to be IO blocked but in reality
would send() the message and enter a wait state until notified by a manager
thread that would trigger it with timing information when the reply came in.
This pushes control back to JMeter.  I can use JMeter to control threads,
randomise message types etc etc.  The downside is that it will result in a
huge number of threads.  I expect to load test the server with up to 2000
concurrent messages - which would mean a corresponding number of threads!

Hopefully I am missing something.  My questions are:

 - Has JMeter been designed to test an asynchronous interface?
 - If not, can it be done without simulating a synchronous interface?
 - If not, are there other frameworks that are better suited?
 - If not, is there any interest in expanding JMeter so it can cater for
this stuff natively?

Thanks for any comment and insight.

Sam


http://www.espeed.co.uk
CONFIDENTIAL: This e-mail, including its contents and attachments, if any, are confidential.
If you are not the named recipient please notify the sender and immediately delete it. You
may not disseminate, distribute, or forward this e-mail message or disclose its contents to
anybody else. Copyright and any other intellectual property rights in its contents are the
sole property of eSpeed, Inc and its affiliates.

This e-mail was issued by eSpeed International Limited ("eSpeed").  eSpeed is a limited liability
company incorporated under the laws of England (company number 3809189 and VAT registration
number 577 406809).  eSpeed's registered office is at One America Square, London EC3N 2LS.
 For any issues arising from this email please reply to the sender.

E-mail transmission cannot be guaranteed to be secure or error-free. The sender therefore
does not accept liability for any errors or omissions in the contents of this message which
arise as a result of e-mail transmission.  If verification is required please request a hard-copy
version.

Although we routinely screen for viruses, addressees should check this e-mail and any attachments
for viruses. We make no representation or warranty as to the absence of viruses in this e-mail
or any attachments. Please note that to ensure regulatory compliance and for the protection
of our customers and business, we may monitor and read e-mails sent to and from our server(s).



---------------------------------------------------------------------
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