This release was created for one specific customer requested feature which we call Required Rate Processing.
This feature allows you to test the speed that your system, or specific applications in your system, can process messages. You may have a target rate you need to be able to achieve, and you can use QLOAD to send messages through the system at that rate to see whether the system (the channels and the applications) can keep up. You may for example have TLS channels; or message compression; or AMS message level encryption applied to the messages which are of course, changing the performance profile of the system. With QLOAD you can test the rate using exactly the same shape and size of messages that you will use in the production environment.
Starting with a queue that contains a representative selection of example messages, you can then use QLOAD to copy those messages and inject them into the system at the rate you require. In the example that follows, the required rate is 500 messages/second and the test is to run for 10 minutes.
qload -m MQG1 -i EXAMPLE.MSGS -o TARGET.QUEUE -R500:600
QLOAD will browse the EXAMPLE.MSGS queue and send copies of those messages to the TARGET.QUEUE. When it reaches the end of the EXAMPLE.MSGS then it will go back to the beginning of the queue and send them again, as often as required until the test ends. You can just have a single message on the queue and send it repeatedly, but to offset the cost of resetting the browse, it’s better to have 10 or more messages on the queue. In reality all your messages will not be the same, so a good selection of example messages is certainly worth collecting.
If you want the test to run until you tell it to stop, you can indicate that you want it to run indefinitely with an asterisk for the duration.
qload -m MQG1 -i EXAMPLE.MSGS -o TARGET.QUEUE -R500:*
There are two other ways you might use this feature.
Discover Achievable Rate
Instead of telling QLOAD to run at a certain rate, you might instead want to discover what your highest rate could be.
To run QLOAD in this way, you use a command like this:-
qload -m MQG1 -i EXAMPLE.MSGS -o TARGET.QUEUE -R*:*
And you will see output like the following, as QLOAD ramps up the rate.
Monitoring depth of queue 'TARGET.QUEUE' Message Rate 802 msgs/sec Message Rate 5200 msgs/sec Message Rate 5548 msgs/sec Message Rate 5516 msgs/sec Message Rate 5409 msgs/sec Message Rate 5566 msgs/sec Message Rate 5503 msgs/sec
It does this by monitoring the depth of the target queue, which might be a transmission queue being read by a channel, or it might be an application queue being read either by the read application or by another instance of QLOAD acting as a sink.
qload -I TARGET.QUEUE -f null -w600
Trickle Feed the contents of a queue
So far you’ve seen QLOAD copy example messages from a source queue and inject them into the system over and over until the duration of the test is complete. Alternatively though, you could use this feature to move messages from a side queue (the contents of a batch run, or messages from a backout queue or a Dead-letter queue) back into the main system. If you have a large depth of these messages you may not want to load them back into the application queue all at once, since you know deep queues hurt performance. So instead you can trickle feed them into the system using QLOAD.
qload -m MQG1 -I SIDE.QUEUE -o TARGET.QUEUE -R50
The new version can be downloaded from the QLOAD Download Page. Any current licensed users of QLOAD can run the new version on their existing licence. If you don’t have a licence and would like to try out QLOAD then send an email to email@example.com and a 1-month trial licence will be sent to you.