Author |
Message
|
Vitor |
Posted: Wed Jun 06, 2018 9:07 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
tczielke wrote: |
Personally, I plan on changing all our cluster receiver channels to run with the default of NPMSPEED(NORMAL). I prefer that as the default, as quality of service should trump speed for a default, in my opinion. We also don't have speed requirements that would warrant this trade off. |
I've never seen a scenario where transmission speed is a bottleneck. More typically it's the application at one end or the other that's the issue with throughput, and you can't fix that by changing an attribute. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
cra1gl1 |
Posted: Wed Jun 06, 2018 9:37 am Post subject: |
|
|
Apprentice
Joined: 25 Apr 2018 Posts: 30
|
Not related to the original post.
@mvic, could you please explain this behavior of amqsblst.
TGET is defined on QM4 and QM7 with exact same attribute values. QM2, QM4 and QM7 are PRs in a cluster.
put 20 msgs to QM2 and each target queue got 10 msgs each as expeced : Transaction 1
put 20 msgs again to QM2 and each target queue got 10 msgs each as expeced : Transaction 2
Tried to GET 20 msgs from QM4 and got only 10 msgs.
1) Is this because only 10 msgs were put in transacion 1 ?
Tried to GET 20 msgs from QM7 and the amqsblst tool waited for some time and got all the 20 msgs from the queue.
2) This happened every time i tested. Do you know why this difference with the queues? Is this something to do with the tool? or could it be because of any cluster configurations?
:~/qmgrs/QM1/errors> /opt/mqm/samp/bin/amqsblst QM2 TGET -W -u 1 -c 20
welcome to blast
Blast> successfully opened queue <TGET>
Blast> elapsed time = 0.006948 S
Blast> ended
Blast> 20 messages have been put
Blast> 0 messages have been got
:~/qmgrs/QM1/errors> /opt/mqm/samp/bin/amqsblst QM2 TGET -W -u 1 -c 20
welcome to blast
Blast> successfully opened queue <TGET>
Blast> elapsed time = 0.010730 S
Blast> ended
Blast> 20 messages have been put
Blast> 0 messages have been got
:~/qmgrs/QM1/errors> /opt/mqm/samp/bin/amqsblst QM4 TGET -R -u 1 -c 20
welcome to blast
Blast> successfully opened queue <TGET>
Blast> elapsed time = 0.001987 S
Blast> ended
Blast> 0 messages have been put
Blast> 10 messages have been got
:~/qmgrs/QM1/errors> /opt/mqm/samp/bin/amqsblst QM7 TGET -R -u 1 -c 20
welcome to blast
Blast> successfully opened queue <TGET>
Blast> MQGET failed with reason code 2033
Blast> timeout out getting msgs from queue <TGET>
Blast> elapsed time = 100.005639 S
Blast> failed to get all msgs from queue <TGET>
Blast> ended
Blast> 0 messages have been put
Blast> 20 messages have been got |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jun 06, 2018 9:43 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
cra1gl1 wrote: |
Not related to the original post.
@mvic, could you please explain this behavior of amqsblst.
TGET is defined on QM4 and QM7 with exact same attribute values. QM2, QM4 and QM7 are PRs in a cluster.
put 20 msgs to QM2 and each target queue got 10 msgs each as expeced : Transaction 1
put 20 msgs again to QM2 and each target queue got 10 msgs each as expeced : Transaction 2
Tried to GET 20 msgs from QM4 and got only 10 msgs. |
Then what happened? Did you receive a ReasonCode? Was it a 2033? What was the queue depth? Was UNCOM(YES) at the queue? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
cra1gl1 |
Posted: Wed Jun 06, 2018 10:24 am Post subject: |
|
|
Apprentice
Joined: 25 Apr 2018 Posts: 30
|
bruce2359 wrote: |
Then what happened? Did you receive a ReasonCode? Was it a 2033? What was the queue depth? Was UNCOM(YES) at the queue? |
I posted the commands and the outputs in the previous post.
I exits normally, without any error. No matter what number i specify (-c msgcount), it gets all the messages that the queue received in the 1st transaction. And it is run the same command again, it gets all the msgs from the 2nd transaction. |
|
Back to top |
|
 |
mvic |
Posted: Wed Jun 06, 2018 12:09 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
cra1gl1 wrote: |
could you please explain this behavior of amqsblst |
You only asked for 20 messages on QM7, but I think probably there were 10 more than that.
If correct, this would imply that 30 messages went to QM7 and 10 went to QM4.
That's not a bad thing, necessarily. The weighting choice is done using the overall number of messages moved by the channels BEFORE your test starts, and perhaps the channel to QM4 had moved more messages before you started your test. |
|
Back to top |
|
 |
mvic |
Posted: Wed Jun 06, 2018 12:13 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
cra1gl1 wrote: |
The issue doesn't occur with NPMSPEED(NORMAL) or with DEFPSIST(YES) (no matter what tools i use to GET the msgs)
Issue occurs with NPMSPEED(FAST) or with DEFPSIST(NO) when the getting app abends( amqsget). |
The first statement implies the channel lost the non-persistent messages (did you look in the qmgr error logs, in case there is any mention of channel abends?)
On the other hand, from your 2nd statement, there's a little remaining doubt over whether the issue is seen with:
- NPMSPEED(FAST)
- DEFPSIST(NO)
- use amqsblst QM Q -R -u 1 -c 100 |
|
Back to top |
|
 |
mvic |
Posted: Wed Jun 06, 2018 12:19 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
cra1gl1 wrote: |
the amqsblst tool waited for some time |
How long a time?
I am not previously an expert on amqsblst but from a quick look at the sample's source code I did not see a reason for delays within the program itself.
So a little concerning if there are visible delays, and maybe this holds the key to why not all your messages arrive.
(However my best guess is still that there were 30 messages on QM7 and 10 messages on QM4).
 |
|
Back to top |
|
 |
cra1gl1 |
Posted: Wed Jun 06, 2018 12:36 pm Post subject: |
|
|
Apprentice
Joined: 25 Apr 2018 Posts: 30
|
mvic wrote: |
You only asked for 20 messages on QM7, but I think probably there were 10 more than that.
If correct, this would imply that 30 messages went to QM7 and 10 went to QM4.
That's not a bad thing, necessarily. The weighting choice is done using the overall number of messages moved by the channels BEFORE your test starts, and perhaps the channel to QM4 had moved more messages before you started your test. |
The msgs are being distributed equally to both the targets. Let me put the whole test output here. |
|
Back to top |
|
 |
cra1gl1 |
Posted: Wed Jun 06, 2018 12:56 pm Post subject: |
|
|
Apprentice
Joined: 25 Apr 2018 Posts: 30
|
queue manager QM4
QUEUE(TGET)
CURDEPTH(0)
UNCOM(NO)
IPPROCS(1)
OPPROCS(1)
queue manager QM7
QUEUE(TGET)
CURDEPTH(0)
IPPROCS(1)
OPPROCS(1)
UNCOM(NO)
/opt/mqm/samp/bin/amqsblst QM3 TGET -W -u 1 -c 10
welcome to blast
Blast> successfully opened queue <TGET>
Blast> elapsed time = 0.005120 S
Blast> ended
Blast> 10 messages have been put
Blast> 0 messages have been got
/opt/mqm/samp/bin/amqsblst QM3 TGET -W -u 1 -c 10
welcome to blast
Blast> successfully opened queue <TGET>
Blast> elapsed time = 0.003849 S
Blast> ended
Blast> 10 messages have been put
Blast> 0 messages have been got
queue manager QM4
QUEUE(TGET)
CURDEPTH(10)
OPPROCS(1)
IPPROCS(0)
UNCOM(NO)
queue manager QM7.
QUEUE(TGET)
CURDEPTH(10)
IPPROCS(0)
OPPROCS(1)
UNCOM(NO
/opt/mqm/samp/bin/amqsblst QM4 TGET -R -u 1 -c 10 -----> Why does this take so long ???
welcome to blast
Blast> successfully opened queue <TGET>
Blast> MQGET failed with reason code 2033
Blast> timeout out getting msgs from queue <TGET>
Blast> elapsed time = 100.002442 S
Blast> failed to get all msgs from queue <TGET>
Blast> ended
Blast> 0 messages have been put
Blast> 10 messages have been got
/opt/mqm/samp/bin/amqsblst QM7 TGET -R -u 1 -c 10 ---> why does this get only 5 msgs
welcome to blast
Blast> successfully opened queue <TGET>
Blast> elapsed time = 0.001268 S
Blast> ended
Blast> 0 messages have been put
Blast> 5 messages have been got
/opt/mqm/samp/bin/amqsblst QM7 TGET -R -u 1 -c 10
welcome to blast
Blast> successfully opened queue <TGET>
Blast> elapsed time = 0.000520 S
Blast> ended
Blast> 0 messages have been put
Blast> 5 messages have been got
mqm@ras04162:~/qmgrs/QM3/errors> |
|
Back to top |
|
 |
mvic |
Posted: Wed Jun 06, 2018 1:11 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
Very odd.
Do the qmgr error logs have anything from this time?
And/or the system-wide errors under /var/mqm/errors?
Also the output from amqsblst is not consistent with itself:
- you asked for 10 messages
- it said it gave you 10 messages
- (after a long time, which is unexpected, given that runmqsc says the msgs are all there)
- but it also says it could not get all the messages you wanted:
Quote: |
Blast> elapsed time = 100.002442 S
Blast> failed to get all msgs from queue <TGET>
Blast> ended
Blast> 0 messages have been put
Blast> 10 messages have been got |
Maybe there's a bug in amqsblst? |
|
Back to top |
|
 |
cra1gl1 |
Posted: Wed Jun 06, 2018 1:17 pm Post subject: |
|
|
Apprentice
Joined: 25 Apr 2018 Posts: 30
|
yeah, I think its a bug. I don't see any errors in any of hte logs. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jun 06, 2018 3:26 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
bruce2359 wrote: |
cra1gl1 wrote: |
Not related to the original post.
@mvic, could you please explain this behavior of amqsblst.
TGET is defined on QM4 and QM7 with exact same attribute values. QM2, QM4 and QM7 are PRs in a cluster.
put 20 msgs to QM2 and each target queue got 10 msgs each as expeced : Transaction 1
put 20 msgs again to QM2 and each target queue got 10 msgs each as expeced : Transaction 2
Tried to GET 20 msgs from QM4 and got only 10 msgs. |
Then what happened? Did you receive a ReasonCode? Was it a 2033? What was the queue depth? Was UNCOM(YES) at the queue? |
You didn't answer my questions.
Did you let amqsget run to normal completion? After 15 seconds or so, if there are no more messages to consume, amqsget posts a ReasonCode. What was the ReasonCode?
After your test, did you display the queue using MQSC commands? What were the values of curdepth, uncom, and other relevant attributes? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
|