We are currently using Broker to call from a web application to Broker on the mainframe. The Programs that are invoked on the mainframe usually have a short execution time (under 5 secs). However, we currently have a need to make a Broker call that will execute several subprograms that can take up to 1 min to execute.
The first subprogram takes in parms from Broker then calls other subpograms. After all subprograms have completed, the first subprogram then returns a result set of parms as output. The subprograms are written in Natural.
The concern is that the broker call is part of a web service. Therefore the time it takes to return from the web service seems unually long. Plus we are not sure what the best practices and considerations are, performance wise, for setting up calls in Broker like this one.
So here’s our questions:
What’s the criteria for selecting candidates for a broker call. When is it not a good idea to use Broker?
How can we measure resource consumption for a broker call that goes from client to mainframe?
Which is more expensive, executing 1 long broker call, or spliting it up into multiple calls?
Sometimes when we triy long broker calls, we time out in broker. Is there are parm that can control the length of time a thread is held?
How do we control the number and size of threads that Broker will have. How does multi-threading within broker work?
If a thread is used for a long time does Broker eventually cash the data in a control block and return that thread to a pool for resuse?
Can you point us to documentation on performance tuning for Broker on a MVS mainframe?