| 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: 9486 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: 9486 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: 9486 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: 9486 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: 9486 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 | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |