|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MA01 getting each message under syncpoint |
« View previous topic :: View next topic » |
Author |
Message
|
jsware |
Posted: Thu Sep 04, 2014 7:19 am Post subject: MA01 getting each message under syncpoint |
|
|
 Chevalier
Joined: 17 May 2001 Posts: 455
|
HI,
I am trying to put/get messages using MA01 with each message committed under syncpoint. If I run the following command to put, it works as expected:
q -m QM1 -oQ1 -p1 -v5
and then enter "#2 Test" I get two puts, each with an MQCMIT (from the -p1 option):
Quote: |
MQSeries Q Program by Paul Clarke [ V6.0.0 Build:May 2 2012 ]
MQ_CONNECT_TYPE=<NULL>
Connecting ...MQCONN on object 'QM1' returned 0 OK.
MQHCONN = 20971526
MQOPEN on object '' returned 0 OK.
MQHOBJ = 2
MQINQ on object '' returned 0 OK.
MQCLOSE on object '' returned 0 OK.
connected to 'QM1'.
MQOPEN on object 'Q1' returned 0 OK.
MQHOBJ = 2
>#2 Test
(7 bytes) #2 Test
MQPUT on object 'Q1' returned 0 OK.
MQPUT 7 bytes
MQCMIT on object 'QM1' returned 0 OK.
(7 bytes) #2 Test
MQPUT on object 'Q1' returned 0 OK.
MQPUT 7 bytes
MQCMIT on object 'QM1' returned 0 OK.
>#end
MQBACK on object 'QM1' returned 0 OK.
MQDISC on object 'QM1' returned 0 OK. |
Now when I do the reverse, I don't get an MQCMIT after each get:
q -m QM1 -IQ1 -p1 -v5
Quote: |
MQSeries Q Program by Paul Clarke [ V6.0.0 Build:May 2 2012 ]
MQ_CONNECT_TYPE=<NULL>
Connecting ...MQCONN on object 'QM1' returned 0 OK.
MQHCONN = 20971526
MQOPEN on object '' returned 0 OK.
MQHOBJ = 2
MQINQ on object '' returned 0 OK.
MQCLOSE on object '' returned 0 OK.
connected to 'QM1'.
MQOPEN on object 'Q1' returned 0 OK.
MQHOBJ = 2
MQGET on object 'Q1' returned 0 OK.
MQGET 7 bytes
(7 bytes) #2 Test
MQGET on object 'Q1' returned 0 OK.
MQGET 7 bytes
(7 bytes) #2 Test
MQGET on object 'Q1' returned 2033 No message available..
No more messages.
MQCMIT on object 'DUNPRD01' returned 0 OK.
MQBACK on object 'DUNPRD01' returned 0 OK.
MQDISC on object 'DUNPRD01' returned 0 OK.
|
I thought the -p1 would perform an MQCMIT after each MQGET. If I try other -p values (e.g. put 100 messages and get using -p10) it still only commits at the end.
Am I missing an option somewhere? _________________ Regards
John
The pain of low quaility far outlasts the joy of low price. |
|
Back to top |
|
 |
PaulClarke |
Posted: Thu Sep 04, 2014 10:01 am Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Hi,
I can see your reasoning and it is reasonable to assume that this is the behaviour you would get.
However, my recollection is that the -p parameter, on the getting side, takes affect only when the queue is empty. So, it is useful if you want to batch up your gets into larger blocks of transactions but not much use if you want to artificially create smaller transactions.
Can I ask what you are trying to achieve? There may be a better way of doing this. If it's just a one off experiment then you could use something like MO71 API Exerciser which allows you to try out any sequence of APIs you like and see the effect.
I'd like to be able to say that I could modify Q for you but IBM still has not given me permission to continue developing Q. However, I am still optimistic that they will.
Regards,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
jsware |
Posted: Thu Sep 04, 2014 10:53 pm Post subject: |
|
|
 Chevalier
Joined: 17 May 2001 Posts: 455
|
Hi Paul,
I hope you get permission to continue modifying the supportpacs you've been providing, Q, QLOAD and others.
Quote: |
Can I ask what you are trying to achieve? There may be a better way of doing this. |
I'm trying to work out performance of MQ on a newly configured production environment.
So I use the q program to put progressively larger messages to queues(using the # syntax) and the same to get these messages. I wanted to test persistent messages put under syncpoint, simulating two programs exchanging individual messages.
I'm using MQMON to monitor the stats of these queues so I can graph messages/second. _________________ Regards
John
The pain of low quaility far outlasts the joy of low price. |
|
Back to top |
|
 |
PaulClarke |
Posted: Thu Sep 04, 2014 11:27 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Ah Ok. Then you really do need something that will work repetitively and at high speed. An API exerciser clearly wouldn't cut it.
I suspect modifying Q might be your best bet but right now my hands are tied. You could always ask IBM if they'd be good enough to do it. Alternatively if you just want a simple MQCONN,MQOPEN,MQGET,MQCMIT sequence then you could modify the AMQSGET sample.
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
zpat |
Posted: Thu Sep 04, 2014 11:44 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Look at support pac IH03. _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Sep 05, 2014 5:19 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
There's also this, which is what the lab tends to use to run performance tests.
I know, I know... it says "Java" and it says it's for JMS, but it does plain MQ just fine.
The performance tools in IH03 are just fine, too, so if those are more comfortable for you.... |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|