Author |
Message
|
Gideon |
Posted: Thu Apr 22, 2010 10:12 am Post subject: amqzlaa agents |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
I am trying to run a listener on AIX as a trusted app.
I start out with the old config, and examine the agents:
Code: |
bash-3.2$ ps -ef | grep amqzlaa
mqm 131254 62278 0 Apr 16 - 14:59 amqzlaa0 -mSIXQM -fip0
mqm 159782 98872 0 17:49:32 pts/2 0:00 grep amqzlaa
mqm 114944 62278 0 Apr 16 - 21:38 amqzlaa0 -mSIXQM -fip3
mqm 131832 62278 0 Apr 16 - 22:07 amqzlaa0 -mSIXQM -fip1
mqm 107266 62278 0 Apr 16 - 22:29 amqzlaa0 -mSIXQM -fip2
mqm 119568 62278 0 Apr 16 - 22:50 amqzlaa0 -mSIXQM -fip4 |
So obviously there are non-trusted apps here.
I stop my broker, and perform the following:
Code: |
bash-3.2$ endmq -i SIXQM
bash: endmq: command not found
bash-3.2$ endmqm -i SIXQM
Waiting for queue manager 'SIXQM' to end.
WebSphere MQ queue manager 'SIXQM' ending.
WebSphere MQ queue manager 'SIXQM' ended.
bash-3.2$
bash-3.2$
bash-3.2$ ps -ef | grep amqzlaa
mqm 139358 98872 0 17:51:19 pts/2 0:00 grep amqzlaa |
So now I am at a baseline state. Then I start up the qmgr, as follows:
Code: |
bash-3.2$ strmqm SIXQM
WebSphere MQ queue manager 'SIXQM' starting.
5 log records accessed on queue manager 'SIXQM' during the log replay phase.
Log replay for queue manager 'SIXQM' complete.
Transaction manager state recovered for queue manager 'SIXQM'.
WebSphere MQ queue manager 'SIXQM' started.
bash-3.2$
bash-3.2$
bash-3.2$ ps -ef | grep amqzlaa
mqm 123122 98872 0 17:51:55 pts/2 0:00 grep amqzlaa
mqm 143882 62282 0 17:51:43 - 0:00 amqzlaa0 -mSIXQM -fip0 |
I did not expect to see that agent process. I have no broker running, and no clusters. Where did this agent come from ?
I already have a MQIBindType=FASTPATH in the qm.ini, so I perform the following:
Code: |
bash-3.2$ export MQ_CONNECT_TYPE=FASTPATH
bash-3.2$ runmqlsr -m SIXQM -t tcp -p 1414 &
[1] 131594
bash-3.2$ 5724-H72 (C) Copyright IBM Corp. 1994, 2009. ALL RIGHTS RESERVED.
bash-3.2$ ps -ef | grep amqzlaa
mqm 123134 98872 0 17:56:01 pts/2 0:00 grep amqzlaa
mqm 143882 62282 0 17:51:43 - 0:00 amqzlaa0 -mSIXQM -fip0 |
No agent additional processes were added at this point. Is my listener 'trusted' at this point ?
Thanks |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Apr 22, 2010 10:31 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
I am trying to run a listener on AIX as a trusted app. |
Why? _________________ 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 |
|
 |
Gideon |
Posted: Thu Apr 22, 2010 10:40 am Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
I want to see how much faster I can run my app. And to possibly lower CPU during a peak period
Any idea of how I can understand the amqzlaa agent I am seeing |
|
Back to top |
|
 |
mvic |
Posted: Thu Apr 22, 2010 10:47 am Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
Gideon wrote: |
Any idea of how I can understand the amqzlaa agent I am seeing |
Use DISPLAY CONN to find out what is connected to the queue manager. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Apr 22, 2010 11:01 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Running the listener as a trusted app is likely going to do neither of the things you want it to do.
The listener is only used during connection, after that all the work is done by the message channel agent. Which is the agent process you see.
You didn't expect that running the listener as a trusted application would cause it not to spawn off agent processes, did you?
You appear to be trying a number of things to solve a problem without having taken proper steps to clarify the causes of the problem from which you could produce actions that would assist with the problem.
Don't do anything to tune MQ in order to speed up an application until you've done everything you can to tune the application itself.
Don't do anything to tune MQ until you've run performance profiling tests to understand where you need to apply tuning. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Apr 22, 2010 11:12 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
I want to see how much faster I can run my app. |
There are usually far more opportunities to tune the app.
Quote: |
And to possibly lower CPU during a peak period |
Huh? _________________ 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 |
|
 |
mvic |
Posted: Thu Apr 22, 2010 11:12 am Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
mqjeff wrote: |
The listener is only used during connection, after that all the work is done by the message channel agent. Which is the agent process you see. |
The listener hands over the job of running the channel to a thread in an amqrmppa process, and this thread has the connection to the queue manager that matters. If it is running non-trusted then it will need to be served by a thread in an amqzlaa0. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Apr 22, 2010 11:38 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
I'm confused...
Were you contemplating running your application (not the listener) as trusted? _________________ 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 |
|
 |
Gideon |
Posted: Thu Apr 22, 2010 11:55 am Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
bruce2359 wrote: |
I'm confused...
Were you contemplating running your application (not the listener) as trusted? |
Both |
|
Back to top |
|
 |
Gideon |
Posted: Thu Apr 22, 2010 12:03 pm Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
mqjeff wrote: |
You didn't expect that running the listener as a trusted application would cause it not to spawn off agent processes, did you?
|
I am confused, I read the following link:
http://www.ibm.com/developerworks/websphere/library/techarticles/0712_dunn/0712_dunn.html
and this doc stated the following:
Quote: |
that there is no process separation between the Fastpath application and the queue manager. By contrast, when running as a non Fastpath or standard application an agent process called amqzlaa provides the separation between the MQ application and queue manager |
So I assume from this there should be no amqzlaa processes if I have MQIBindType=FASTPATH in the qm.ini, and set MQ_CONNECT_TYPE=FASTPATH env var.
However, when I start up my qmgr, I have several amqzlaa processes. Why do I see that ? |
|
Back to top |
|
 |
mvic |
Posted: Thu Apr 22, 2010 12:06 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
Gideon wrote: |
However, when I start up my qmgr, I have several amqzlaa processes. Why do I see that ? |
Use DISPLAY CONN to find out. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Apr 22, 2010 12:09 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Trusted apps run in the same process/thread as the local qmgr agent (LQMA). The risk is that your app will/might abend or otherwise fail, taking the lqma with it. An agent represents a dozen or so mq apps.
The benefit from running your app trusted is a very, very, very small reduction in cpu; so small that I doubt that you will be able to observe the reduction. This option may have made sense years ago when processors were single and slow; but the risk nearly always outweighed the benefit.
Does your app do database updates? Or something else labor-intensive?
What have you already tried to improve performance of your app? _________________ 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 |
|
 |
bruce2359 |
Posted: Thu Apr 22, 2010 12:15 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
So I assume from this there should be no amqzlaa processes if I have MQIBindType=FASTPATH in the qm.ini, and set MQ_CONNECT_TYPE=FASTPATH env var. |
Again, why would you assume that? _________________ 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 |
|
 |
Gideon |
Posted: Thu Apr 22, 2010 12:37 pm Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
mvic wrote: |
Gideon wrote: |
However, when I start up my qmgr, I have several amqzlaa processes. Why do I see that ? |
Use DISPLAY CONN to find out. |
I used the DISPLAY CONN command as follows:
Code: |
bash-3.2$ runmqsc SIXQM
5724-H72 (C) Copyright IBM Corp. 1994, 2009. ALL RIGHTS RESERVED.
Starting MQSC for queue manager SIXQM.
DISPLAY CONN(*)
1 : DISPLAY CONN(*)
AMQ8276: Display Connection details.
CONN(4BD08CAE20000001)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
AMQ8276: Display Connection details.
CONN(4BD08CAE20000601)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
AMQ8276: Display Connection details.
CONN(4BD08CAE20000701)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
AMQ8276: Display Connection details.
CONN(4BD08CAE20000D01)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
AMQ8276: Display Connection details.
CONN(4BD08CAE20000E01)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
AMQ8276: Display Connection details.
CONN(4BD08CAE20001C01)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
AMQ8276: Display Connection details.
CONN(4BD08CAE20002007)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
DISPLAY CONN(4BD08CAE20000001) ALL
35 : DISPLAY CONN(4BD08CAE20000001) ALL
AMQ8276: Display Connection details.
CONN(4BD08CAE20000001)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
PID(91102) TID(1)
APPLDESC(WebSphere MQ Object Authority Manager)
APPLTAG(amqzfuma) APPLTYPE(SYSTEM)
ASTATE(NONE) CHANNEL( )
CONNAME( ) CONNOPTS(MQCNO_FASTPATH_BINDING)
USERID(mqm) UOWLOG( )
UOWSTDA( ) UOWSTTI( )
UOWLOGDA( ) UOWLOGTI( )
URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
DISPLAY CONN(4BD08CAE20000601) ALL
53 : DISPLAY CONN(4BD08CAE20000601) ALL
AMQ8276: Display Connection details.
CONN(4BD08CAE20000601)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
PID(107232) TID(1)
APPLDESC(WebSphere MQ Cluster Repository)
APPLTAG(amqrrmfa) APPLTYPE(SYSTEM)
ASTATE(NONE) CHANNEL( )
CONNAME( ) CONNOPTS(MQCNO_SHARED_BINDING)
USERID(mqm) UOWLOG( )
UOWSTDA(2010-04-22) UOWSTTI(18.51.43)
UOWLOGDA( ) UOWLOGTI( )
URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.15) UOWSTATE(ACTIVE)
:
DISPLAY CONN(4BD08CAE20000701) ALL
54 : DISPLAY CONN(4BD08CAE20000701) ALL
AMQ8276: Display Connection details.
CONN(4BD08CAE20000701)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
PID(119574) TID(1)
APPLDESC(WebSphere MQ Deferred Message Processor)
APPLTAG(amqzdmaa) APPLTYPE(SYSTEM)
ASTATE(NONE) CHANNEL( )
CONNAME( ) CONNOPTS(MQCNO_SHARED_BINDING)
USERID(mqm) UOWLOG( )
UOWSTDA( ) UOWSTTI( )
UOWLOGDA( ) UOWLOGTI( )
URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
:
DISPLAY CONN(4BD08CAE20000D01) ALL
55 : DISPLAY CONN(4BD08CAE20000D01) ALL
AMQ8276: Display Connection details.
CONN(4BD08CAE20000D01)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
PID(99316) TID(1)
APPLDESC(WebSphere MQ Command Server) APPLTAG(amqpcsea)
APPLTYPE(SYSTEM) ASTATE(NONE)
CHANNEL( ) CONNAME( )
CONNOPTS(MQCNO_SHARED_BINDING) USERID(mqm)
UOWLOG( ) UOWSTDA( )
UOWSTTI( ) UOWLOGDA( )
UOWLOGTI( ) URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
:
DISPLAY CONN(4BD08CAE20000E01) ALL
56 : DISPLAY CONN(4BD08CAE20000E01) ALL
AMQ8276: Display Connection details.
CONN(4BD08CAE20000E01)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
PID(95210) TID(1)
APPLDESC(WebSphere MQ Channel Initiator)
APPLTAG(runmqchi) APPLTYPE(SYSTEM)
ASTATE(NONE) CHANNEL( )
CONNAME( ) CONNOPTS(MQCNO_SHARED_BINDING)
USERID(mqm) UOWLOG( )
UOWSTDA( ) UOWSTTI( )
UOWLOGDA( ) UOWLOGTI( )
URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
:
DISPLAY CONN(4BD08CAE20001C01) ALL
57 : DISPLAY CONN(4BD08CAE20001C01) ALL
AMQ8276: Display Connection details.
CONN(4BD08CAE20001C01)
EXTCONN(414D5143534958514D20202020202020)
TYPE(CONN)
PID(115428) TID(5)
APPLDESC( )
APPLTAG(WebSphere MQ Client for Java)
APPLTYPE(USER) ASTATE(STARTED)
CHANNEL(SYSTEM.BKR.CONFIG) CONNAME(10.14.1.100)
CONNOPTS(MQCNO_HANDLE_SHARE_BLOCK,MQCNO_FASTPATH_BINDING)
USERID(benchmarking) UOWLOG( )
UOWSTDA( ) UOWSTTI( )
UOWLOGDA( ) UOWLOGTI( )
URTYPE(QMGR)
EXTURID(XA_FORMATID[00000000] XA_GTRID[] XA_BQUAL[])
QMURID(0.0) UOWSTATE(NONE)
:
DISPLAY CONN(4BD08CAE20002007) ALL
58 : DISPLAY CONN(4BD08CAE20002007) ALL
AMQ8461: Connection identifier not found.
bash-3.2$ ps -ef | grep amqzlaa
mqm 131264 98872 0 20:26:40 pts/2 0:00 grep amqzlaa
mqm 143882 62282 0 17:51:43 - 0:00 amqzlaa0 -mSIXQM -fip0 |
I see a MQ client for java, channel initiator, command serverdeferred message processor, cluster repository (I have no cluster defined), and an Object authority manager.
However, I still have my amqzlaa process running. How can I tell which of these connections belongs to the amqzlaa ?
Thanks |
|
Back to top |
|
 |
mvic |
Posted: Thu Apr 22, 2010 12:45 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
Gideon wrote: |
How can I tell which of these connections belongs to the amqzlaa ? |
All of those which are labelled MQCNO_SHARED_BINDING. |
|
Back to top |
|
 |
|