Author |
Message
|
fnickel |
Posted: Tue Jul 05, 2016 8:51 am Post subject: Impossible to increase MaxChannels and MaxActiveChannels?? |
|
|
Newbie
Joined: 05 Jul 2016 Posts: 7
|
Hi,
I have migrated MQ from AIX to Linux today. On Linux RedHat 7.2 i receive follow error:
AMQ9513: Maximum number of channels reached.
EXPLANATION:
The maximum number of channels that can be in use simultaneously has been reached. The number of permitted channels is a configurable parameter in the queue manager configuration file.
Here the cat /var/mqm/mqs.ini
#********************************#
#* *#
...
...
AllQueueManagers:
#*******************************************#
#* The path to the qmgrs directory, below which queue manager data *#
#* is stored *#
#*******************************************************#
QueueManager:
Name=QM.C000052
Prefix=/var/mqm
Directory=QM!C000052
DataPath=/MQHA/mqtest/qmgrs/QM!C000052
InstallationName=Installation1
CHANNELS:
MaxChannels=3000
MaxActiveChannels=3000
I restartet the MQ-Manager, but nothing happend. Always and always i received the same error
echo "DISPLAY CHSTATUS(*)" | runmqsc QM.C000052 | grep AMQ8417 | wc -l
100
We installed MQ7.5.0.5 on Linux an MQ7.0.18 on AIX
How can i increase MaxChannels and MaxActiveChannels ?
Can i increase the parameter via MQ-Explorer?
Best Regards
F. Nickel |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Jul 05, 2016 8:52 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
did you look at the results of
_________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
fnickel |
Posted: Tue Jul 05, 2016 9:11 am Post subject: |
|
|
Newbie
Joined: 05 Jul 2016 Posts: 7
|
Hi mqjeff,
Thanks for answer.
i'm not sure what you mean.
here the out from dis chl:
echo "DISPLAY CHl(SCC.C000052)" | runmqsc QM.C000052
1 : DISPLAY CHl(SCC.C000052)
AMQ8414: Display Channel details.
CHANNEL(SCC.C000052) CHLTYPE(SVRCONN)
ALTDATE(2016-07-05) ALTTIME(08.57.27)
COMPHDR(NONE) COMPMSG(NONE)
DESCR( ) DISCINT(0)
HBINT(300) KAINT(AUTO)
MAXINST(999999999) MAXINSTC(999999999)
MAXMSGL(4194304) MCAUSER(mqm)
MONCHL(OFF) RCVDATA( )
RCVEXIT( ) SCYDATA( )
SCYEXIT( ) SENDDATA( )
SENDEXIT( ) SHARECNV(10)
SSLCAUTH(REQUIRED) SSLCIPH( )
SSLPEER( ) TRPTYPE(TCP)
echo "DISPLAY CHl(SYSTEM.DEF.SVRCONN)" | runmqsc QM.C000052
1 : DISPLAY CHl(SYSTEM.DEF.SVRCONN)
AMQ8414: Display Channel details.
CHANNEL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN)
ALTDATE(2016-07-05) ALTTIME(16.26.10)
COMPHDR(NONE) COMPMSG(NONE)
DESCR( ) DISCINT(0)
HBINT(300) KAINT(AUTO)
MAXINST(999999999) MAXINSTC(999999999)
MAXMSGL(4194304) MCAUSER( )
MONCHL(OFF) RCVDATA( )
RCVEXIT( ) SCYDATA( )
SCYEXIT( ) SENDDATA( )
SENDEXIT( ) SHARECNV(100)
SSLCAUTH(REQUIRED) SSLCIPH( )
SSLPEER( ) TRPTYPE(TCP) |
|
Back to top |
|
 |
fnickel |
Posted: Tue Jul 05, 2016 9:16 am Post subject: |
|
|
Newbie
Joined: 05 Jul 2016 Posts: 7
|
BTW:
the clients received error like these:
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2537;AMQ9204: Connection to host 'mqtest(24240)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2537;AMQ9558: The remote channel 'SCC.C000052' on host '' is not currently available. [3=SCC.C000052]],3=mqtest(24240),5=RemoteConnection.analyseErrorSegment]
Best Regards
F. NIckel |
|
Back to top |
|
 |
PaulClarke |
Posted: Tue Jul 05, 2016 6:21 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Should you not be adding the CHANNELS stanza in to the QM.INI rather than the MQS.INI file ?
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jul 05, 2016 8:35 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
PaulClarke wrote: |
Should you not be adding the CHANNELS stanza in to the QM.INI rather than the MQS.INI file ?
Cheers,
Paul. |
Good eye. _________________ 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 |
|
 |
fnickel |
Posted: Tue Jul 05, 2016 10:43 pm Post subject: |
|
|
Newbie
Joined: 05 Jul 2016 Posts: 7
|
Hi,
i know. I have already renamed the file mqs.ini to qm.ini -> but without result. I get the same error. I found mqs.ini under /var/mqm (btw: i am new in mq).
Now we have 88 connections ...
echo "dis chs(*)" | runmqsc QM.C000052 | grep CONNAME | cat -n | tail -10
79 CONNAME(132.10.94.217) CURRENT
80 CONNAME(132.10.94.205) CURRENT
81 CONNAME(132.10.94.217) CURRENT
82 CONNAME(132.10.94.205) CURRENT
83 CONNAME(132.10.94.217) CURRENT
84 CONNAME(132.10.94.205) CURRENT
85 CONNAME(132.10.94.205) CURRENT
86 CONNAME(132.10.94.205) CURRENT
87 CONNAME(132.10.94.217) CURRENT
88 CONNAME(132.10.94.217) CURRENT
From the 101st connection, we get the error
Regards
F. Nickel |
|
Back to top |
|
 |
PaulClarke |
Posted: Tue Jul 05, 2016 11:01 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
It's not a good idea to rename one ini file to another. Both files should exists and they should have different concepts.
If you change the MAXCHANNELS value then you much stop and restart you Queue Manager. Have you done so since you put these values in QM.INI ? _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
fnickel |
Posted: Tue Jul 05, 2016 11:55 pm Post subject: |
|
|
Newbie
Joined: 05 Jul 2016 Posts: 7
|
Sorry. My mistake !!!
I wrote "rename", but i meant "copy"!
I copy /var/mqm/mqs.ini to /var/mqm/qm.ini
For now we have mqs.ini and qm.ini with the same content under /var/mqm. Should the files look differnt?
ls -l /var/mqm/*ini
-rw-rw-r-- 1 mqm mqm 1747 Jul 5 18:59 /var/mqm/mqs.ini
-rw-rw-r-- 1 mqm mqm 1747 Jul 5 15:46 /var/mqm/qm.ini
-rw-rw-r-- 1 mqm mqm 637 Mar 9 08:40 /var/mqm/mqclient.ini
cat qm.ini / cat mqs.ini
...
AllQueueManagers:
QueueManager:
Name=QM.C000052
Prefix=/var/mqm
Directory=QM!C000052
DataPath=/MQHA/mqtest/qmgrs/QM!C000052
InstallationName=Installation1
CHANNELS:
MaxChannels=3000
MaxActiveChannels=3000
cat /var/mqm/mqclient.ini
ClientExitPath:
ExitsDefaultPath=/var/mqm/exits
ExitsDefaultPath64=/var/mqm/exits64
When i work with /var/mqm/mq.ini -> MQ dont startet
When i work with /var/mqm/mqs.ini -> MQ startet
I think i need /var/mqm/mqs.ini.
After every change in /var/mqm/mqs.ini we restartet MQ.
Best Regards
F. Nickel |
|
Back to top |
|
 |
fnickel |
Posted: Wed Jul 06, 2016 12:02 am Post subject: |
|
|
Newbie
Joined: 05 Jul 2016 Posts: 7
|
I forgot:
I changed yersterday SHARECNV for Channels SCC.C000052 and SYSTEM.DEF.SVRCONN to 500 ... |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jul 06, 2016 3:43 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
SHARECNV should be 1. Not 0. Not 2. 1 _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
PaulClarke |
Posted: Wed Jul 06, 2016 9:20 am Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Jeff,
If you are going to make bold statements like that would you like to share your reasoning? Other people may not have quite the same set of circumstances that you do.
If it was always clear exactly what value one should have in an attribute field then it seems odd that MQ should provide a way of setting it. Personally I think there are a number of reasons why you might want a value greater than 1.
Essentially the trade off, as usual, is performance vs resource usage. For some people performance is all that matters. For others MQ is already much faster than they need. Or, put another way, MQ represents such a tiny fraction of the total processing time that a 10% improvement of speed makes no odds. However, it does make a difference to these people whether they have 10,000 sockets connected or 2,000. It all comes down to what you feel is important to you and your installation,
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jul 06, 2016 9:22 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I have been told by people on the development team that 1 is the correct number.
Using 0, as I'm sure you know, sets things back to methods used before sharecnv was active.
Setting it to higher than 1 doesn't provide any benefits, and can negatively impact performance.
Or at least, so I've been told.
Possibly the performance report mentions this. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
PaulClarke |
Posted: Wed Jul 06, 2016 9:53 am Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Hmmmm, personally I am not in favour of people dictating values. You are better to explain the pros and cons and let people decide.
It is true that a high value of SHARECNV is a little slower, this is perhaps not a surprise. What it says is that you want multiple client connections to share the same TCP/IP socket. There are two issues this causes - firstly you can only get so much data down a pipe so having 'n' connections using the pipe is naturally going to limit the bandwidth each can use. Secondly, having multiple threads using the same shared resource means that you have much more context switching going on (and this is surprisingly slow on many operating systems).
So, as I said, if performance is your number one issue then a value of 1 is not unreasonable. However, a value of 2 gives you most of the benefit of sharing with little impact on performance. A value larger than 2 gives reduces socket use but does impact performance.
Performance is one of those emotive subjects and is hard to quantify in real terms. People might look at a graph and say that 1,200 msg/sec is clearly a lot better than 1,000 msgs/sec. It is 20% faster so surely this is good. However, if the application only issues 1 message a minute are you really going to notice? Put another way is the user going to notice a change in response time from 1 second to 1.0002 seconds ?
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
hughson |
Posted: Wed Jul 06, 2016 2:58 pm Post subject: |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
Dear F. Nickel,
As you have spotted there are several different ini files.
fnickel wrote: |
ls -l /var/mqm/*ini
-rw-rw-r-- 1 mqm mqm 1747 Jul 5 18:59 /var/mqm/mqs.ini
-rw-rw-r-- 1 mqm mqm 1747 Jul 5 15:46 /var/mqm/qm.ini
-rw-rw-r-- 1 mqm mqm 637 Mar 9 08:40 /var/mqm/mqclient.ini |
You ask:-
fnickel wrote: |
For now we have mqs.ini and qm.ini with the same content under /var/mqm. Should the files look differnt? |
To answer your question, yes, the files should look different. They serve different purposes and have different content. You can see examples of the content in Knowledge Center. Here are some links for you.
They serve different purposes. There is one mqs.ini for the whole machine. You shouldn't generally need to touch this file.
There is a qm.ini file for each queue manager. This is the one you should be editing in order to change MaxChannels.
The mqclient.ini is not used by the queue manager, but in fact is used by client applications.
You copied mqs.ini as qm.ini in /var/mqm.
fnickel wrote: |
I copy /var/mqm/mqs.ini to /var/mqm/qm.ini |
This is not where qm.ini lives. qm.ini lives in /var/mqm/qmgrs/QM!C000052 - for your queue manager QM.C000052.
Here's what you need to do.
- Put mqs.ini back the way it was by removing the lines you added.
- Delete the qm.ini that you have in /var/mqm - it is never being read by MQ.
- Go to the directory /var/mqm/qmgrs/QM!C000052 where you will find there is already a qm.ini file
- Edit that qm.ini file to add your lines as you did before. You had the correct lines just in the wrong file
Code: |
CHANNELS:
MaxChannels=3000
MaxActiveChannels=3000 |
Restart the queue managerCheers
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
|