ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Mainframe MIPS Breakdown

Post new topic  Reply to topic
 Mainframe MIPS Breakdown « View previous topic :: View next topic » 
Author Message
queuetip
PostPosted: Mon Jun 06, 2005 12:18 pm    Post subject: Mainframe MIPS Breakdown Reply with quote

Acolyte

Joined: 03 Feb 2005
Posts: 67

Obviously, how the queues are allocated (pagesets and bufferpools and logsize and MAXUMSG) plays a significant role of performance tuning. We believe we have verified and tuned the administration pieces though. The throughput is pretty good, everything is going to "write cache memory"...the problem now is just MIPS!

Obviously how the application is coded and the commit/backout size of persistent messages also plays a significant role. We looked at the app for low hanging fruit and the code looks pretty responsible. We've got concurrent processing going on as well. To go any further, we need to know more about the MIPS going on within MQSeries behind the scenes.

When you issue a GET and do a wait (WAITINTERVAL) in z/OS, how is that really implemented? Is it like NT and UNIX where it acts like a callback function...or does it poll over and over and over?

I was wondering if the grand masters out there (or IBM) had a breakdown of MIPS used by MQSeries task - connect, open, get options, gets, put options, puts, persistent logging, the lock handling tasks, etc.?

Any help is much appreciated.

Thanks! Mike
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Mon Jun 06, 2005 12:41 pm    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

Quote:
When you issue a GET and do a wait (WAITINTERVAL) in z/OS, how is that really implemented? Is it like NT and UNIX where it acts like a callback function...or does it poll over and over and over?


I believe it waits for an ECB to be posted.

Not sure I can answer the MIPS used by various 'features' but our queue managers are not 'big hitters' in terms of CPU. You have tuned Address spaces but are you sure you have them in the right WLM enclave?
Back to top
View user's profile Send private message
queuetip
PostPosted: Mon Jun 06, 2005 3:28 pm    Post subject: Reply with quote

Acolyte

Joined: 03 Feb 2005
Posts: 67

Is there much tuning opportunity within WLM for handling the transaction that would impact MQSeries MIPS? If so, could you provide some examples? (i.e. I'm not too familiar with WLM)

I will provide a little more detail...

CICS txn (ABCD) starts the unit of work. It puts a message on a non-persistent queue that is being monitored via another CICS txn (EFGH) that acts as a daemon and has issued a GET WAIT INTERVAL to pull in the request message. ABCD txns can run in parallel. Each ABCD waits for a reply message from the EFGH using the MSGID/CORRELID model.

The EFGH daemon transaction maintains a socket connection to another system to retireve data (no MQSeries)...however, once the data returns from the socket EFGH puts a reply message on a reply queue for the ABCD transaction. When ABCD gets the reply, it issues a COMMIT at that time. ABCD will timeout if no data is returned under a minute.

The user noticed an especially large spike in MQSeries MIPS when the socket connection is DOWN. This is why I was wondering about the MIPS when in GET INTERVAL mode. See any other opportunities here?

Thanks!
Mike
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Tue Jun 07, 2005 5:11 am    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

The WLM service class is probably the most important...and remember the CHIN as well as the MSTR address space

Based on your description of the problem I would tend to be looking more at the TCPIP address space.

As for the spike, again, based on your description I would check the application. What does it do if the Put of the request message fails? Does it keep on trying?
Back to top
View user's profile Send private message
zpat
PostPosted: Tue Jun 07, 2005 10:51 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

MQI calls like MQCONN and MQOPEN consume more resources due to security checking etc than MQGET/PUTs or MQCLOSE or MQDISC.

So keep connections and queues open for multiple operations whenever possible.

The MQGET WAIT will result in either a CICS wait or a MVS wait with a ECB being posted when it's time to resume processing, MIPS are not being wasted during this time. Much better to let the QM wait on the ECB than it is to repeatedly issue MQGETs.
Back to top
View user's profile Send private message
queuetip
PostPosted: Tue Jun 07, 2005 12:58 pm    Post subject: Reply with quote

Acolyte

Joined: 03 Feb 2005
Posts: 67

Quote:
The WLM service class is probably the most important


Hmmm. How does this generate extra MQSeries MIPS? Could MQSeries swap storage out? Is it because the call to the other txn is within the syncpoint? Thanks.


Quote:
...and remember the CHIN as well as the MSTR address space


I may not have been clear - but the CHIN is not affected. The queues are all local on the mainframe. The TCPIP connection between the daemon transaction and the web application does not use MQSeries. Only after results come back does the daemon format a reply message for the first message. If this is what you understood, please help me understand how CHIN comes into play. Thanks.


Quote:
Based on your description of the problem I would tend to be looking more at the TCPIP address space.


Since the TCPIP address space in question here is a socket connection and not MQSeries (although within the original MQSeries commit)...so how would that generate MQSeries MIPS? Thanks.


Quote:
As for the spike, again, based on your description I would check the application. What does it do if the Put of the request message fails? Does it keep on trying?


This is an excellent question! I will pursue this with the application programmer. Thanks - I look forward to hearing more about the details above.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Mainframe MIPS Breakdown
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.