Author |
Message
|
nm_anand |
Posted: Wed Nov 01, 2006 10:24 pm Post subject: Prbm -MQ Channels Open huge |
|
|
Newbie
Joined: 01 Nov 2006 Posts: 3 Location: bangalre
|
Hi all
I need urgent help. My J2EE application running on Solaris 9x (Sparc) , Weblogic 8.3 and am using Websphere MQ 5.3. Normally after starting my MQ Server , MQ Channel count is around 5 , After Start my Weblogic Server , MQ Channel count is going around 100. its slow down entire server. plz help me to resolve this issue.
regards
muruganandam |
|
Back to top |
|
 |
xxx |
Posted: Wed Nov 01, 2006 11:22 pm Post subject: |
|
|
Centurion
Joined: 13 Oct 2003 Posts: 137
|
|
Back to top |
|
 |
mvic |
Posted: Thu Nov 02, 2006 2:11 am Post subject: Re: Prbm -MQ Channels Open huge |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
nm_anand wrote: |
MQ Channel count is going around 100. its slow down entire server. plz help me to resolve this issue. |
Is 100 too high? Why is it too high? How much of a slowdown do you observe on your server? - remember, J2EE servers take a lot of memory and (for example) a lot of time simply to start the server.
( On the other hand, my MQ queue manager takes a couple of seconds to start up on a laptop ) |
|
Back to top |
|
 |
nm_anand |
Posted: Thu Nov 02, 2006 2:21 am Post subject: |
|
|
Newbie
Joined: 01 Nov 2006 Posts: 3 Location: bangalre
|
In my case , for receving message from Queue, using MDB and Sending message back to Queue using JMS .
My JMS Sender program using like that
QueueSession session = null;
TextMessage outMsg = null;
String returnValues[]=new String[2];
try
{
//Get the queue connection
if(conn == null) {
iutsQCF =
(ServiceLocator.getInstance()).getQueueConnectionFactory(MessageCommon.IUTSQueueConnectionFactory);
//check for validity(not null)
//Need to check if we can use Connection Pooling here
conn = iutsQCF.createQueueConnection();
//check for validity(not null)
conn.start();
}
session = conn.createQueueSession(true,Session.AUTO_ACKNOWLEDGE);
//check for validity(not null)
outMsg = session.createTextMessage();
and properly closing also.
finally
{
try
{
if(session != null)
{
session.close();
}
}
protected void finalize()
{
try {
if(conn != null)
{
conn.close();
}
}
catch (javax.jms.JMSException je)
{
je.printStackTrace();
}
} |
|
Back to top |
|
 |
Vitor |
Posted: Thu Nov 02, 2006 2:57 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
It's a very nice piece of code and very well commented, but what has it to do with the questions mvic asked? Why do you consider 100 a high channel count? We have around 400 and are not alarmed. How much of a slowdown? What other application physically run on the box? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Nov 02, 2006 3:21 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
And remember going over a 100 you will need a channel stanza in qm.ini....
The slow down may be caused because your resources have not been defined adequately and the box is starved for resources.
To know what the ideal number of connections is read up on the "JMS Topologies" red book. You should find a link to it somewhere in my earlier posts (up to a year ago or more, or just google for it and you will find it here)
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Nov 02, 2006 4:22 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Or it may be that the application is waiting on an available channel... _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Thu Nov 02, 2006 9:23 am Post subject: Re: Prbm -MQ Channels Open huge |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
nm_anand wrote: |
MQ Channel count is going around 100. its slow down entire server. |
I'm guessing that you mean that the J2EE server is slowing down. Do a netstat on both boxes and grep for the MQ listener port.
Code: |
netstat -an | grep <port#> |
I bet you will see 100 with 'established' state and hundreds or thousands of connections 'close_wait' state.
Your J2EE application has run-away threads making end-less number of connections.
Go tell the J2EE developer to look at their log files and figure out what is broken.
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
nm_anand |
Posted: Thu Nov 02, 2006 9:50 pm Post subject: |
|
|
Newbie
Joined: 01 Nov 2006 Posts: 3 Location: bangalre
|
Dear all
Thanx for reply. My J2EE Application have 12 MDB to Listening JMS - MQ. In the descriptor I assign
<weblogic-enterprise-bean>
<ejb-name>CTLANMDB</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>1000</max-beans-in-free-pool>
<initial-beans-in-free-pool>100</initial-beans-in-free-pool> </pool>
<destination-jndi-name>jms/IUTS_CTLAN_REQ_Q
</destination-jndi-name>
<connection-factory-jndi-name>
jms/IUTSQueueConnectionFactory
</connection-factory-jndi-name>
</message-driven-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>300</trans-timeout-seconds>
</transaction-descriptor>
<dispatch-policy>IUTSCTQueue</dispatch-policy>
</weblogic-enterprise-bean>
initial-bean pool size is 100 for my daily transaction MDB.
Is it the root cause for MQ channels open huge?.
My client is frequently complain about MQ Channels count is reaching upto 200. please let me know if u have solution .
regards
muruganandam.n |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Nov 03, 2006 3:10 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Did you read the JMS Topologies I referred you to?
I know you did not or you would not have made the previous post.
Please read it or be RTFM'd.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|