Return-Path: Delivered-To: apmail-jakarta-jmeter-user-archive@www.apache.org Received: (qmail 99101 invoked from network); 13 Apr 2004 16:21:14 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 13 Apr 2004 16:21:14 -0000 Received: (qmail 8254 invoked by uid 500); 13 Apr 2004 16:21:04 -0000 Delivered-To: apmail-jakarta-jmeter-user-archive@jakarta.apache.org Received: (qmail 8234 invoked by uid 500); 13 Apr 2004 16:21:04 -0000 Mailing-List: contact jmeter-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "JMeter Users List" Reply-To: "JMeter Users List" Delivered-To: mailing list jmeter-user@jakarta.apache.org Received: (qmail 8219 invoked from network); 13 Apr 2004 16:21:04 -0000 Received: from unknown (HELO cfukmsw-out.espeed.co.uk) (148.106.128.11) by daedalus.apache.org with SMTP; 13 Apr 2004 16:21:04 -0000 Received: from cfukexch04.ws.london.cantor.com (unverified) by cfukmsw-out.espeed.co.uk (Content Technologies SMTPRS 4.3.12) with ESMTP id for ; Tue, 13 Apr 2004 16:53:58 +0100 Received: by cfukexch04.ws.london.cantor.com with Internet Mail Service (5.5.2653.19) id <2Q69DL0L>; Tue, 13 Apr 2004 16:53:58 +0100 Message-ID: <946CE22AAFECE344A0B9D712E3B4616B024F88D7@cfukexch03.ws.london.cantor.com> From: "Finch, Sam" To: "'jmeter-user@jakarta.apache.org'" Subject: JMeter & Asynchronous Testing Date: Tue, 13 Apr 2004 16:53:57 +0100 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N 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