Typically what is the response time of MQ virtual service ? yes, off course i have not set any think time here ..
currently we are hitting an issue during our performance testing of a soap service ..
our soap service calls MQ VS in lisa.. and timeout of soap service is 7 seconds .. if no response received with in 7 sec from mq then our soap service gets time out..
currently we have 5% calls failed during our 1 hour of load test and when we analyzed all calls faults at soap service says MQ 2033 error , which means timeout or no message available in reply queues..
as per MQ server concern , our MQ server and queues are configured properly and it is able to handle any load and which is proven in production.. as per the soap service concern it is also proven in production, so I would like to know how can we ensure LISA MQ VSMs are quick and also calls handled properly i.e., when multiple vusers hits very quickly there shouldn't be issues at VSM in identifying the message for right soap call and respond..
> At this moment we dont have plan to change to new MQ series but yes eventually we do it.. and I hope using the protocol does not affect the performance..
The new IBM MQ Native transport protocol significantly improves performance. It's still possible to tune the old IBM MQ Series protocol for performance a little bit, but not to the extent that the new protocol supports.
> yes three request queues
Here I'm a little confused. The old IBM MQ Series protocol doesn't support multiple request queues out of the box. You would have modify the VSM in some sketchy and not at all obvious ways to make this happen.
> yes there are two more steps added one is script step which is after 'MQ {vse.publisher} publish' step, this is very simple script to capture msg id & correlation id and followed by this step, there is another step which just writes these details file using 'write to delimited file'
These will definitely affect performance, especially writing to a file, but I don't have any hard numbers for you.
> Have you looked at the 'share sessions' checkbox (IBM MQ Series) or Run time Scope (IBM MQ Native) settings? I am not aware of this..
In your VSM, open the 'Respond' step and find the checkbox on the left side labelled 'Share Sessions'. Make sure this box is *checked*. Without this set, at playback it will create a whole new connection to send each response. With this set, each "VU" will create a single connection to send responses and reuse it for the life of the VSE service.
> At what capacity are you running the VS? default.. 100%
No, I'm talking about the "Capacity" field, which is basically the number of threads that VSE runs your service in. If you are running five simultaneous users to drive your test then I would set this to at least five.
> Have you gone through the general recommendations for performance tuning VSE? Not sure about this.. if there is something like this , please share the wiki link, i ll have a look at it..
Unfortunately the only links I can find are on an old wiki and really outdated. I can give you the highlights I believe are still relevant:
Open LISA_HOME/logging.properties and make sure the VSE logging settings are turned down. In particular, change this:
log4j.rootCategory=INFO,A1
to this:
log4j.rootCategory=WARN,A1
and this:
log4j.logger.VSE=INFO, VSEAPP
to this:
log4j.logger.VSE=WARN, VSEAPP
Find or create LISA_HOME/local.properties, and add these lines:
lisa.pathfinder.on=false
lisa.eventPool.maxQueueSize=65535
lisa.CycleExecHistory.buffer.size=2