Load injection and external service simulation

For testing any scenarios you need to consider how you will trigger the workload for testing in a consistently repeatable manner. Usually testing is triggered by some kind of load injection on an inbound channel to the FTM application.

It is very important that you consider that the application performance will be directly affected by any system or process injecting load and any external service that is invoked during processing. For example, if your load injection rate is only 30 TPS your system will not achieve more than 30 TPS.

Load injection can be simulated using any kind of test tool / harness but for MQ the IA03 support pack is very useful including the RFHUtil utility and mqputs command line tools. In particular the mqtimes2 utility can be used to consume output messages calculating the messaging rate at the same time. IA03 is not available on z/OS but many of the utilities can be used remotely to inject load to a z/OS application.

External services may or may not be available during performance evaluation, it may be that in early evaluations real external systems are not available. A sensible approach is to produce simple simulators, implemented as message flows to facilitate testing. Development of simulators also facilitates testing on a wider range of system such as developer workstations. Bear in mind that the simulators may perform significantly better than real external systems/services so testing with the real systems is at some point essential.