Author |
Message
|
Gideon |
Posted: Wed Oct 13, 2010 12:43 pm Post subject: MQ Listener |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
I am running WM7 on Linux on a 8 core machine
I am running an app with a lot of throughput into MQ.
I run my app, and I see my total CPU go up to 20%, but I have one CPU which goes up to 60 to 70 percent.
I assume that processor is the MQ listener. This confuses me, since I thought the MQ listener was multiple threaded, therefore it should move its processing through all CPU's.
Is that true
How can I determine how many listener processes are running at any time ?
Thanks |
|
Back to top |
|
 |
exerk |
Posted: Wed Oct 13, 2010 1:43 pm Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
ps -ef | grep runmqlsr
Provided, of course, you are not using the antediluvian inetd method  _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
gbaddeley |
Posted: Wed Oct 13, 2010 2:00 pm Post subject: Re: MQ Listener |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Gideon wrote: |
I assume that processor is the MQ listener. |
Big assumption... The listener hands off channel connections to message channel agent processes (amqrmppa, runmqchl) to do all the hard work. Ask your sys admin to look at performance on the system. _________________ Glenn |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Oct 13, 2010 2:42 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
I assume that processor is the MQ listener. |
I assume that the process is not the MQ listener, but something else. _________________ 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 |
|
 |
yupoet |
Posted: Wed Oct 13, 2010 8:45 pm Post subject: |
|
|
 Apprentice
Joined: 26 Nov 2008 Posts: 36
|
Worth trying the utility TOP if you have to see which process actually taken such CPU time. |
|
Back to top |
|
 |
Gideon |
Posted: Thu Oct 14, 2010 6:56 am Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
I did thie following on a 16 core machine: (Linux and WMQ 7)
I get 7% CPU on the amqrmppa, as follows:
Code: |
[root@eX5A ~]#
[root@eX5A ~]# nmon
[root@eX5A ~]#
[root@eX5A ~]#
[root@eX5A ~]# top
top - 10:26:13 up 1 day, 21 min, 2 users, load average: 0.04, 0.31, 0.64
Tasks: 336 total, 1 running, 335 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.9%us, 0.9%sy, 0.0%ni, 91.8%id, 6.1%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 528592972k total, 2412956k used, 526180016k free, 184708k buffers
Swap: 144703480k total, 0k used, 144703480k free, 788984k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16136 mqm 15 0 190m 10m 5256 S 7.0 0.0 0:37.59 amqrmppa
16061 mqm 16 0 306m 24m 20m S 6.0 0.0 0:42.30 amqzlaa0
16141 mqm 15 0 232m 18m 15m S 6.0 0.0 0:25.92 amqzlaa0
16979 mqm 18 0 960m 142m 32m S 5.0 0.0 0:30.42 DataFlowEngine
16011 mqm 15 0 336m 18m 14m S 2.3 0.0 0:08.87 amqzmuc0
17092 mqm 15 0 211m 16m 15m S 1.3 0.0 0:09.42 amqzlaa0
7092 root 10 -5 0 0 0 S 1.0 0.0 35:08.29 fct0-worker
9862 root 15 0 143m 2992 1560 S 0.7 0.0 7:08.81 fio-snmp-agentx
21803 root 15 0 12876 1268 804 R 0.7 0.0 0:01.04 top
16002 mqm 15 0 228m 12m 11m S 0.3 0.0 0:01.37 amqzxma0
1 root 15 0 10352 700 588 S 0.0 0.0 0:03.75 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.25 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.03 migration/1
6 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1
7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1 |
Below is a snapshot of the CPU's in play:
Code: |
bash-3.2$
bash-3.2$ nmon
+nmon-12c---------------------Hostname=eX5A---------Refresh= 2secs ---10:26.28-+
¦ CPU Utilisation -------------------------------------------------------------¦
¦ +-------------------------------------------------+¦
¦CPU User% Sys% Wait% Idle|0 |25 |50 |75 100|¦
¦ 1 0.0 0.0 0.0 100.0| > |¦
¦ 2 2.0 1.0 0.0 97.0| > |¦
¦ 3 0.0 0.0 0.0 100.0| > |¦
¦ 4 1.0 1.0 0.0 98.0| > |¦
¦ 5 1.0 1.0 0.0 98.0| >¦
¦ 6 1.5 0.5 0.0 98.0| > |¦
¦ 7 1.0 1.0 0.0 98.0| > |¦
¦ 8 1.0 1.0 0.0 98.0| > |¦
¦ 9 2.0 2.0 0.5 95.5|Us > |¦
¦10 1.5 2.5 94.9 1.0|sWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW >¦
¦11 1.5 0.5 0.0 98.0| > |¦
¦12 1.5 1.0 3.0 94.4|W > |¦
¦13 2.0 1.5 0.5 96.0|U > |¦
¦14 1.5 1.0 0.0 97.5| > |¦
¦15 1.5 2.5 0.0 96.0|s > |¦
¦16 1.5 1.0 0.0 97.5| > |¦
¦ +-------------------------------------------------+¦
¦Avg 1.3 1.1 6.2 91.4|WWW > |¦
¦ +-------------------------------------------------+ |
It appears that the 7% CPU from the process is taking up the entirity of the single core that is displayed above. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Oct 14, 2010 7:31 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
From the graphs you posted, what do you believe is the problem? Is there a problem? _________________ 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 Oct 14, 2010 7:37 am Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
Since the listener is multi-threaded, shouldn't the amqrmppa process run on more than just a single core.
If the multi-threaded process does not split between cores, doesn't this present a bottlenectk?
Thanks |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Oct 14, 2010 8:04 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
... I have one CPU which goes up to 60 to 70 percent. |
What process is running in the cpu that goes to 60-70 percent?
Quote: |
Since the listener is multi-threaded, shouldn't the amqrmppa process run on more than just a single core. |
If memory serves, amqrmppa is a channel process, not a listener process.
Quote: |
I am running an app with a lot of throughput into MQ. |
Are you just running ONE app? Across ONE channel? _________________ 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 Oct 14, 2010 9:10 am Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
As I understand it, the listener hands the request to the amqrmppa, which then starts a thread to handle the communication, which is why some sites refer to the amqrmppa as the listener.
I am running 1 app with several clients over a single channel.
My concern is still this. amprmppa does not appear to be acting as a threaded app, becuase it is only going to a single core, I think if it was well threaded, its workload would be spread to several cores |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Oct 14, 2010 9:45 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
I am running 1 app with several clients over a single channel. |
Please be a bit more specific.
Do you mean that the "client" application is a WMQ client? That is, the executable is bound with the WMQ Client bindings?
What type of channel? Is the channel a sender-receiver pair? Is it a server-connection channel?
Do you mean that there is only one instance of the consuming application?
[edit]
Quote: |
which is why some sites refer to the amqrmppa as the listener. |
Problem-determination, and any other technical discussion, requires some precision. A listener is a listener, a channel is a channel. Each has a different name. _________________ 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 |
|
 |
mqjeff |
Posted: Thu Oct 14, 2010 10:23 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Without otherwise commenting on the threading behavior within a single amqrmppa process, you may find that as you increase the number of running channel instances to this queue manager, that additional copies of amqrmppa get spawned. Presumably these would not all be bound to the same exact CPU. |
|
Back to top |
|
 |
Gideon |
Posted: Thu Oct 14, 2010 11:38 am Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
I am running 10 to 12 java clients remotely, each uses a SVRCONN connection. All java clients are using the same channel
I see your point about precision, my apologies.
I also see your point about using multiple channels, and I will give that a try. However, the way I read the documentation, the amqrmppa process should spawn off threads to multiple cores. Is that an incorrect assumption ? |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Oct 14, 2010 12:05 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
...the way I read the documentation... |
What documentation? Please post the URL or document number.
Please post the definition of the SVRCONN channel. Use the DISPLAY CHL( ) command, and post the results. _________________ 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 Oct 14, 2010 12:13 pm Post subject: |
|
|
Chevalier
Joined: 18 Aug 2009 Posts: 403
|
Code: |
display chl(SYSTEM.ADMIN.SVRCONN)
1 : display chl(SYSTEM.ADMIN.SVRCONN)
AMQ8414: Display Channel details.
CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN)
ALTDATE(2010-10-13) ALTTIME(19.40.53)
COMPHDR(NONE) COMPMSG(NONE)
DESCR( ) HBINT(300)
KAINT(AUTO) MAXINST(999999999)
MAXINSTC(999999999) MAXMSGL(4194304)
MCAUSER(mqm) MONCHL(QMGR)
RCVDATA( ) RCVEXIT( )
SCYDATA( ) SCYEXIT( )
SENDDATA( ) SENDEXIT( )
SHARECNV(10) SSLCAUTH(REQUIRED)
SSLCIPH( ) SSLPEER( ) |
|
|
Back to top |
|
 |
|