Author |
Message
|
dipankar |
Posted: Wed Feb 08, 2006 12:01 am Post subject: MRM mapping taking long time(CWF) |
|
|
Disciple
Joined: 03 Feb 2005 Posts: 171
|
Hi,
WINDOWS 2000, MQSI 2.1, CSD 08.
I have got a big message set(size 2 MB) with CWF format from clients.
The message flow looks like
MQInput-->compute node--->MQOutput
After tracing I have found the following portion
Quote: |
2006-02-08 10:41:08.015000 3676 UserTrace BIP4124I: Message propagated to 'out' terminal of compute node 'NORDICS_MF-BI002.1_V1-2.LegacyToPsConvert'.
2006-02-08 11:24:28.500000 3676 UserTrace BIP2638I: The MQ output node 'NORDICS_MF-BI002.1_V1-2.NORDICS.BI002_1.OUTPUT' attempted to write a message to the specified queue 'NORDICS.BI002_1.OUTPUT' connected to queue manager ''. The MQCC was 0 and the MQRC was 0.
2006-02-08 11:24:28.500000 3676 UserTrace BIP2622I: Message successfully output by MQ output node 'NORDICS_MF-BI002.1_V1-2.NORDICS.BI002_1.OUTPUT' to queue 'NORDICS.BI002_1.OUTPUT' on queue manager ''. |
After computing, it takes around 40 minutes for mapping.
Is it normal behaviour?
Is there any way to improve performance?
Please let me know if there is any issue with the design of the message set.
Here Unordered Set is used as Type Composition. _________________ Regards |
|
Back to top |
|
 |
vinbud117 |
Posted: Wed Feb 08, 2006 12:18 am Post subject: |
|
|
Acolyte
Joined: 22 Jul 2005 Posts: 61
|
use REFERENCE to the compound types which m8 be deep in the tree. then use this reference to access the elements within the compound type.
Example
InputBody.A.B.C.D.F.NAME = 'XYZ';
Instead of above use
declare ref1 REFERENCE InputBody.A.B.C.D.F;
ref1.NAME = 'XYZ'
This will reduce the navigation time, since u make use of pointers.
regards, |
|
Back to top |
|
 |
shalabh1976 |
Posted: Wed Feb 08, 2006 12:29 am Post subject: |
|
|
 Partisan
Joined: 18 Jul 2002 Posts: 381 Location: Gurgaon, India
|
Vinbud117,
What I understand from dipankar's query is that even though the compute node take a relatively short time to create the output message, the message is taking a long time to appear on the output queue. This means that something is happening after the compute process is over and before the message is output. This can mostly happen if the output message format is of type MRM where the message body is either in CWF or TDS format.
I believe what dipankar wants to know is if performance can be improved by redesigning the message set.
Correct me if I am wrong, Dipankar. _________________ Shalabh
IBM Cert. WMB V6.0
IBM Cert. MQ V5.3 App. Prog.
IBM Cert. DB2 9 DB Associate |
|
Back to top |
|
 |
dipankar |
Posted: Wed Feb 08, 2006 12:38 am Post subject: |
|
|
Disciple
Joined: 03 Feb 2005 Posts: 171
|
vinbud117,
I think navigation is not the issue for this case.
The part which I have given below is the part of the whole trace.
Quote: |
2006-02-08 10:41:08.015000 3676 UserTrace BIP4124I: Message propagated to 'out' terminal of compute node 'NORDICS_MF-BI002.1_V1-2.LegacyToPsConvert'. |
Here message propagated to out terminal of the compute node after the whole processing at 10:41:08. After that it takes around 40 minutes to put the message on the output queue.
Does it make sense??
Shalabh
you are absolutely right. _________________ Regards |
|
Back to top |
|
 |
elvis_gn |
Posted: Wed Feb 08, 2006 1:54 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi dipankar,
What kind of a message are you using ? I mean does it have too many complex types, attributes etc etc...
Does this happen for every message that is being outputted ?
Where any other processes running at the same time ?
What is your system config ? Is this a server ? If Yes, what else is running on it ?
Regards. |
|
Back to top |
|
 |
kimbert |
Posted: Wed Feb 08, 2006 2:04 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Two questions:
1. How big is the output message (how many bytes) ?
2. Why is UnorderedSet being used?
If the message is very large ( > 1Mb ) then you may have hit a known problem. If you are using UnorderedSet in a lot of places, that will impose a heavy workload on the processer, because it has to shuffle the contents of each complex type before outputting the message. |
|
Back to top |
|
 |
dipankar |
Posted: Wed Feb 08, 2006 2:30 am Post subject: |
|
|
Disciple
Joined: 03 Feb 2005 Posts: 171
|
Hi elvis_gn,
Quote: |
What kind of a message are you using ? I mean does it have too many complex types, attributes etc etc... |
yes, it has many compex types and contraints.
Quote: |
Does this happen for every message that is being outputted ? |
yes
Quote: |
Where any other processes running at the same time ? |
no
Quote: |
What is your system config ? Is this a server ? If Yes, what else is running on it ? |
WINDOWS 2000 SERVER, RAM 2GB, P4 2.8GHZ
Kimbert,
Quote: |
How big is the output message (how many bytes) ? |
44KB for the sample input file(21KB) and 4KB for the sample input file (2KB)
Quote: |
Why is UnorderedSet being used? |
I have no idea as the code is written by the client
Most probably it was done due to big message set.
I think you are correct. UnorderedSet is the culprit in this concern. _________________ Regards |
|
Back to top |
|
 |
kimbert |
Posted: Wed Feb 08, 2006 3:33 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
You may be correct - UnorderedSet might be the problem. However, the usual reason for using UnorderedSet with CWF is to avoid having to construct the output message in the correct order. If you simply change UnorderedSet to Sequence, you will probably get a lot of errors about the message tree not matching the message model.
Just thought you might like to know  |
|
Back to top |
|
 |
dipankar |
Posted: Wed Feb 08, 2006 3:39 am Post subject: |
|
|
Disciple
Joined: 03 Feb 2005 Posts: 171
|
Kimbert,
Thank you very much.
I know that. That's why I am now ordering the ESQL so that message model maps to ESQL statements.
After that I will change the unorderedSet to Ordered Set in the message set.
I will let you know the result. _________________ Regards |
|
Back to top |
|
 |
dipankar |
Posted: Wed Feb 08, 2006 10:34 pm Post subject: |
|
|
Disciple
Joined: 03 Feb 2005 Posts: 171
|
Kimbert,
Excellent. By setting the type composition as Ordered Set and reordering the ESQL, processing time has been reduced to around 6 times.
Thank you very much _________________ Regards |
|
Back to top |
|
 |
|