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 » WebSphere Message Broker (ACE) Support » WMB - DB2 Interactions

Post new topic  Reply to topic
 WMB - DB2 Interactions « View previous topic :: View next topic » 
Author Message
rokual
PostPosted: Wed Feb 25, 2009 7:51 am    Post subject: WMB - DB2 Interactions Reply with quote

Apprentice

Joined: 07 Feb 2006
Posts: 26

We are using WMB on z/Linux to transform a message from Cobol Copybook to XML between two systems. We have a time duration, 3 seconds for a message to arrive at the destination from when it is placed for transformation. There are 10-15 messages timing out (not reaching the destination application in 3 secs) a day out of 25000 messages being processed. We are trying to drill down where the delay might be happening.

My question is

1. Does every instance of message flow touch the database(DB2) to record its occurance or to query the node information that it has to process?

2. If so, is it a possibility that database (DB2) deadlock is happening for some transactions that are being timed out?
Back to top
View user's profile Send private message
smdavies99
PostPosted: Wed Feb 25, 2009 8:09 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

The simple answer is 'It Depends'

Why?

If you have a compute or a database node that does a DB operation then Yes.
Otherwise, there is no reason for DB2 to be accessed in the processing of a message that would affected by a DB2 deadlock.

Are there other flows in this EG?
If so, are they processing messages at the time then the message time out?
What is the overall CPU Loading at these times?

There are a lot of questions you need to ask of your SysAdmins etc.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
rokual
PostPosted: Wed Feb 25, 2009 8:18 am    Post subject: Reply with quote

Apprentice

Joined: 07 Feb 2006
Posts: 26

I have an MQInput Node, Mapping Node and MQOutput Node. Since we are not using Compute node does it mean we are not touching DB2 for every transaction? If so how does a new message knows what node to process next?

We are having one more message flow running on the same EG, which is an error handling flow. It gets invoked when a message fails to process the original message. This messge flow gets called for only 10 messages a day and that times are different to timeout times. CPU is 99% during this timeouts. We don't know if the WMB DB2 interaction is causing it to be very hot.
Back to top
View user's profile Send private message
LazyBoy
PostPosted: Wed Feb 25, 2009 8:47 am    Post subject: Reply with quote

Voyager

Joined: 04 May 2006
Posts: 78

Hi rokual,

Quote:
Does every instance of message flow touch the database(DB2) to record its occurance or to query the node information that it has to process?


AFAIK, There will be no database hits, if there are no explicit database queries in a message flow.

The Reason why your response time is higher can be of various reasons.

One Reason could be queue time, the time the message stays on queue before being picked up by the Message flow. Are the message sent to input queue of message flow under transaction?

How big are the messages?

[/quote]
Back to top
View user's profile Send private message
rokual
PostPosted: Wed Feb 25, 2009 10:12 am    Post subject: Reply with quote

Apprentice

Joined: 07 Feb 2006
Posts: 26

We did little bit research stopping DB2 on Dev box and making the messages flow. Its working. So, we are not using DB2 for all the messages that are flowing through the system. But we need it to perform any admin activity like stopping and starting message flows, config manager and Broker itself.

Now we have to see what else on this box is causing the delay on few messages that are flowing through. Only on this execution group we have two message flows running. Since each message flow is single threaded and two flows are running simultaneouly on one EG, does this cause the problem of some messages taking extra time to get processed?
Back to top
View user's profile Send private message
ashoon
PostPosted: Wed Feb 25, 2009 10:23 am    Post subject: Reply with quote

Master

Joined: 26 Oct 2004
Posts: 235

I have another question - how many instances of the flow do you have? and are these messages coming at a constant rate or does the amount of messages vary during the day?
_________________
IBM Certified - SOA Solution Designer & WebSphere Datapower SOA Appliances
Back to top
View user's profile Send private message
rokual
PostPosted: Wed Feb 25, 2009 10:31 am    Post subject: Reply with quote

Apprentice

Joined: 07 Feb 2006
Posts: 26

There are two message flows running/started on same EG. We didnot define threads in particular which makes it single-threaded by WMB default.

Our messages vary. There is no constant time between messages.
Back to top
View user's profile Send private message
ashoon
PostPosted: Wed Feb 25, 2009 10:50 am    Post subject: Reply with quote

Master

Joined: 26 Oct 2004
Posts: 235

I'm going to guess your problem occurs when there's a burst of messages through the system and the flows are unable to process them in your required time frame.... try increasing the # of instances to ummm.... say 5... and see if that helps

rokual wrote:
There are two message flows running/started on same EG. We didnot define threads in particular which makes it single-threaded by WMB default.

Our messages vary. There is no constant time between messages.

_________________
IBM Certified - SOA Solution Designer & WebSphere Datapower SOA Appliances
Back to top
View user's profile Send private message
rokual
PostPosted: Wed Feb 25, 2009 11:03 am    Post subject: Reply with quote

Apprentice

Joined: 07 Feb 2006
Posts: 26

Quote:
One Reason could be queue time, the time the message stays on queue before being picked up by the Message flow. Are the message sent to input queue of message flow under transaction?


How to find out the time a message spent on a queue before it got picked up? The message is being placed on a quue which is the I/P Q for the message flow under transaction. Our message is fixed 720 bytes for cobol copybook, which is not large.
Back to top
View user's profile Send private message
ashoon
PostPosted: Wed Feb 25, 2009 11:07 am    Post subject: Reply with quote

Master

Joined: 26 Oct 2004
Posts: 235

there's a header in the MQMD for put date/time... you can then calculate the current time compared to the put date/time and you can see how long it took before the message got to that compute node...
_________________
IBM Certified - SOA Solution Designer & WebSphere Datapower SOA Appliances
Back to top
View user's profile Send private message
rokual
PostPosted: Wed Feb 25, 2009 11:09 am    Post subject: Reply with quote

Apprentice

Joined: 07 Feb 2006
Posts: 26

Quote:
try increasing the # of instances to ummm.... say 5... and see if that helps


You mean change the # of threads the message flow is running to 5?

Also the system idle time during the timeouts period is 0%. We are not able to determine what process is eating up the available CPU. The bunch of messages waiting to get processed might not cause this...right? Do you think increasing the thread size to 5 will fix thix this?
Back to top
View user's profile Send private message
LazyBoy
PostPosted: Wed Feb 25, 2009 12:58 pm    Post subject: Reply with quote

Voyager

Joined: 04 May 2006
Posts: 78

Hi rokual,

As pointed by Ashoon you could enable tracing and use MQMD Put time to calculate the queue time. You can use Tivoli Omegamon Monitoring data , if you are using it to monitor Broker.


To Get more statistics about performance you could use the supportpack( I am not sure whether you can get Queue time):

http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24012457&loc=en_US&cs=utf-8&lang=en

Quote:
The message is being placed on a quue which is the I/P Q for the message flow under transaction


If the message is put in transaction, make sure the transaction is comitted after every few messages instead of comitting after large chunk of messages.
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 » WebSphere Message Broker (ACE) Support » WMB - DB2 Interactions
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.