diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2007-01-12 11:10:48 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2007-01-12 11:10:48 +0000 |
| commit | b621a52c9d4efc9c80189960d0515a85687829fc (patch) | |
| tree | 2e8bd86006c8921e223617606b3c23a0c8e55420 /java/perftests/RunningPerformanceTests.txt | |
| parent | c0d6c40e776dbb7e4c60a727fbced58d2ec50ee9 (diff) | |
| download | qpid-python-b621a52c9d4efc9c80189960d0515a85687829fc.tar.gz | |
QPID-278
broker distribution - modified to allow assembly:directory builds
broker/pom.xml - moved slf4j to common/pom.xml
QPID-283
Provided better feedback from shell scripts.
Provided QuickTest shell script that runs the RequestReply tests.
perftests distribution - modified to allow assembly:directory builds
Moved Resource Readme content relating to Tests to RunningPerformanceTests.txt
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@495554 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/perftests/RunningPerformanceTests.txt')
| -rw-r--r-- | java/perftests/RunningPerformanceTests.txt | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/java/perftests/RunningPerformanceTests.txt b/java/perftests/RunningPerformanceTests.txt new file mode 100644 index 0000000000..0b1d6d4f90 --- /dev/null +++ b/java/perftests/RunningPerformanceTests.txt @@ -0,0 +1,96 @@ +Running Performance Tests +------------------------- + +This performance test suite contains a number of tests. + +- Service request-reply +- Ping-Pong +- Headers + +Service request-reply +--------------------- + +Description: +This is the simplest test to ensure everything is working. This involves +one client that is known as a "service provider" and it listens on a +well-known queue for requests. Another client, known as the "service requester" +creates a private (temporary) response queue, creates a message with the +private response queue set as the "reply to" field and then publishes the +message to the well known service queue. The test allows you to time how long +it takes to send messages and receive the response back. It also allows varying +of the message size. + +QuickRun: + +./serviceRequestReply-QuickTest.sh <brokerdetails> <number of messages> + +This provides a quick test to run everything against a running broker. Simply specify broker and number of messages to run. + + +Detailed Run: + +You must start the service provider first: + +serviceProvidingClient.sh <brokerdetails> [<P[ersistent]|N[onPersistent]> <T[ransacted]|N[onTransacted]>] [selector] + +where Brokerdetails is the connection information to the broker you are running on; e.g. localhost or localhost:5670 or tcp://10.10.10.10:5677. +By default Non Persistent, Non Transaction messages are used in the response. A selector may also be specified. + + +To run the service requester: + +serviceRequestingClient.sh <Brokerdetails> <Number of Messages> [<Message Size>] [<P[ersistent]|N[onPersistent]> <T[ransacted]|N[onTransacted]>] + +This requests the <number of messages> of a <Message Size (default 4096 bytes>. By default the connection is Non Persistent and Non Transactional. + +After receiving all the messages the client outputs the rate it achieved. + + +Ping-Pong +--------- + + + + +Headers +------- + + +A more realistic test is the "headers test", which tests the +performance of routing messages based on message headers to a +configurable number of clients (e.g. 50). A publisher sends 10000 +messages to each client and waits to receive a message from each +client when it has received all the messages. + +You run the listener processes first: + +run_many.sh 10 header "headersListener.sh -host 10.0.0.1 -port 5672" + +In this command, the first argument means start 10 processes, the +second is just a name use in the log files generated and the third +argument is the command to run. In this case it runs another shell +script but it could be anything. + +Then run the publisher process: + +headersPublisher.sh -host 10.0.0.1 -port 5672 10000 10 + +The last two arguments are: the number of messages to send to each +client, and the number of clients. + +Note that before starting the publisher you should wait about 30 +seconds to ensure all the clients are registered with the broker (you +can see this from the broker output). Otherwise the numbers will be +slightly skewed. + +A third useful test, which can easily be ported to other JMS +implementations is the "topic test". It does the same as the headers +test but using a standard topic (e.g. pub sub). + +To run the listeners: + +run_many.sh 10 topic "topicListener.sh -host 10.0.0.1 -port 5672" + +and to run the publisher: + +topicPublisher.sh -host 10.0.0.1 -port 5672 -clients 10 -messages 10000
\ No newline at end of file |
