ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » The connections numbers

Post new topic  Reply to topic Goto page Previous  1, 2, 3  Next
 The connections numbers « View previous topic :: View next topic » 
Author Message
Vitor
PostPosted: Thu Dec 28, 2006 1:36 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

I'd have said RAM but you'll need to investigate the resources on your box to make certain
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
SilentWind
PostPosted: Thu Dec 28, 2006 1:44 am    Post subject: Reply with quote

Acolyte

Joined: 11 Jan 2006
Posts: 58

I shall list my server specifications here, just to clarify things.

IBM XSeries345 Intel(r) Xeo 2.40GHz 3.93GB RAM

My client specs have a wide range but most of them are currently Dell Precision PWS380 or M90 Intel(r) P4 2-3GHz 2-3.50GB RAM

Also, does MQ on Redhat Linux 7.3 gives a better performance than Windows?

Thanks for all the advice to date. They have proven to be very useful.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Dec 28, 2006 1:46 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

SilentWind wrote:
Also, does MQ on Redhat Linux 7.3 gives a better performance than Windows?


Almost everything does work better on Linux than Windows
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Dec 28, 2006 2:57 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

But I'd use a newer version of RedHat than 7.3.

But take care to use a supported version - some of the newest versions use an incompatible version of glibc.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Thu Dec 28, 2006 9:29 am    Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3264
Location: London, ON Canada

Hi,

A while ago, I did some testing with a QMgr (v5.3) on Solaris 8 and started up a variety of client applications (JMS, Java, C, etc..) that connected remotely to the QMgr. Roughly speaking, each connection used 750KB of memory (excluding OS and other applications).

Therefore, 4500 connections would use roughly 3.375GB of memory (excluding the OS and other applications). Since, you ONLY have 4GB of RAM installed your Windows server, you most certainly are running out of memory.

SilentWind wrote:
Also, does MQ on Redhat Linux 7.3 gives a better performance than Windows?

Humm, yes WMQ v5.3 will work but you REALLY should use something a little newer. i.e. RHEL v3 or SLES v8. Fedora Core 3 works great but IBM does not officially support it.

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
SilentWind
PostPosted: Wed Jan 03, 2007 5:42 pm    Post subject: Reply with quote

Acolyte

Joined: 11 Jan 2006
Posts: 58

RogerLacroix wrote:
Quote:
Roughly speaking, each connection used 750KB of memory (excluding OS and other applications).

Therefore, 4500 connections would use roughly 3.375GB of memory (excluding the OS and other applications). Since, you ONLY have 4GB of RAM installed your Windows server, you most certainly are running out of memory.


That is interesting. I did a CPU and memory test for my applications. Apparently, each of my JMS client takes up approx 200KB. I tried going for 5000 subscribers again. Therefore

5000 x 200KB = 1GB.

Again, I reached the limit of around 4500. The same error message is displayed. My CPU has not reached 100% and my RAM has left 1GB (I had only 2GB at the start of the experiment, 2GB - 1GB = 1GB)

Thus, I am still confused what resources I am exactly running low on.
Back to top
View user's profile Send private message
mvic
PostPosted: Wed Jan 03, 2007 6:37 pm    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

SilentWind wrote:
Also, I have learnt that in MQ implementation, 1 JMS topic is equivalent to 1 connection to the MQ server (I have confirmed this using netstat). Therefore in the worst case, I would have 500x20 = 10,000 connections to the MQ server.

Don't understand. How/why do you have one connection per topic?
Back to top
View user's profile Send private message
pathipati
PostPosted: Wed Jan 03, 2007 8:37 pm    Post subject: Reply with quote

Master

Joined: 03 Mar 2006
Posts: 296

SilentWind wrote:
Quote:
Also, I have learnt that in MQ implementation, 1 JMS topic is equivalent to 1 connection to the MQ server (I have confirmed this using netstat). Therefore in the worst case, I would have 500x20 = 10,000 connections to the MQ server.


What did you see after running netstat?
Back to top
View user's profile Send private message Yahoo Messenger
pathipati
PostPosted: Wed Jan 03, 2007 8:40 pm    Post subject: Reply with quote

Master

Joined: 03 Mar 2006
Posts: 296

SilentWind wrote:

Also, I have learnt that in MQ implementation, 1 JMS topic is equivalent to 1 connection to the MQ server (I have confirmed this using netstat). Therefore in the worst case, I would have 500x20 = 10,000 connections to the MQ server.


What did you see after running netstat?
Back to top
View user's profile Send private message Yahoo Messenger
SilentWind
PostPosted: Wed Jan 03, 2007 9:10 pm    Post subject: Reply with quote

Acolyte

Joined: 11 Jan 2006
Posts: 58

pathipati wrote:
Quote:
What did you see after running netstat?


I have one TCP entry for each connection. For example, if my server is at x.x.x.x:1234 and my client is at y.y.y.y. I have 20 topics subscribed by this client. I will have 20 entries of

TCP y.y.y.y:1111 x.x.x.x:1234 ESTABLISHED
TCP y.y.y.y:1112 x.x.x.x:1234 ESTABLISHED
TCP y.y.y.y:1113 x.x.x.x:1234 ESTABLISHED
TCP y.y.y.y:1114 x.x.x.x:1234 ESTABLISHED
TCP y.y.y.y:1115 x.x.x.x:1234 ESTABLISHED
TCP y.y.y.y:1116 x.x.x.x:1234 ESTABLISHED
......

Actual numbers of client port may differ, but they all connect to the same port on the server.

mvic wrote:
Quote:
Don't understand. How/why do you have one connection per topic?


As stated above, I have 20 topics for this client, and subsequently have 20 connections, as seen in the netstat. I will post a sample of my actual client code here.

Code:

MQTopicConnection factory = new MQTopicConnectionFactory();
....

TopicConnection connection = factory.createTopicConnection();
....

TopicSession session1 = connection.createTopicSession( .... );
Topic topic1 = session1.createTopic( .... );
TopicSubscriber subscriber = session1.createSubscriber(topic1);

TopicSession session2 = connection.createTopicSession( .... );
Topic topic2 = session2.createTopic( .... );
TopicSubscriber subscriber = session2.createSubscriber(topic2);

(x 18 more)
.....



As above, I am reusing the same TopicConnection for each Topic, TopicSession, TopicSubscriber. Hence I expect I have 1 single TCP connection for 20 topics. But according to netstat and MQ server status, I have 20 connections! Why is this so?

If I can solve this problem, the "system resources low" problem would be redundant.

Thank you all for your assistance again.
Back to top
View user's profile Send private message
mvic
PostPosted: Thu Jan 04, 2007 1:04 am    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

SilentWind wrote:
I am reusing the same TopicConnection for each Topic, TopicSession, TopicSubscriber. Hence I expect I have 1 single TCP connection for 20 topics. But according to netstat and MQ server status, I have 20 connections! Why is this so?

There is one MQI connection (ie. HConn) for every JMS Session. The MQI transaction scope is the HConn, but the JMS transaction scope is the Session. Therefore in order to implement a Session, the MQ JMS classes must have a separate HConn for it.

So, to reduce the number of MQ connections to the queue manager (and thus the number of TCP/IP connections) is it possible to do your work under one Session?
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jan 04, 2007 1:21 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mvic wrote:
There is one MQI connection (ie. HConn) for every JMS Session. The MQI transaction scope is the HConn, but the JMS transaction scope is the Session. Therefore in order to implement a Session, the MQ JMS classes must have a separate HConn for it.

So, to reduce the number of MQ connections to the queue manager (and thus the number of TCP/IP connections) is it possible to do your work under one Session?


Slightly off topic, but thank you for clairifying the position.

(Please see back a few posts for my confusion. I've just got to improve my Java/JMS)
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
SilentWind
PostPosted: Thu Jan 04, 2007 2:20 am    Post subject: Reply with quote

Acolyte

Joined: 11 Jan 2006
Posts: 58

Vitor wrote:
Quote:
Slightly off topic, but thank you for clairifying the position.


Apologies, I did not want to bring up anything related to Java, especially posting Java code here but I felt that it would help everyone understand my problem further.

mvic wrote:
Quote:
There is one MQI connection (ie. HConn) for every JMS Session. The MQI transaction scope is the HConn, but the JMS transaction scope is the Session. Therefore in order to implement a Session, the MQ JMS classes must have a separate HConn for it.

So, to reduce the number of MQ connections to the queue manager (and thus the number of TCP/IP connections) is it possible to do your work under one Session?


That is a good point. Actually I tried that already. That achieves ONE connection. But there are several problems relating to it:

1) The first subscriber receives messages faster than the others
2) The subscribers take significantly longer to register their listeners
3) Upon receiving their respective topics, they will throw a BrokerException error and will disconnect from the server. The interval and exact error message I will post at a later date as I would need to run the test again because I did not take down the exact results.

Any ideas?
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jan 04, 2007 2:25 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

SilentWind wrote:
Vitor wrote:
Quote:
Slightly off topic, but thank you for clairifying the position.


Apologies, I did not want to bring up anything related to Java, especially posting Java code here but I felt that it would help everyone understand my problem further.



No apology needed, I should apologise for blurting my ignorance and needing to be clarify. I do feel JMS is a relevant subject, just my questions were not directly connected to your issue.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mvic
PostPosted: Thu Jan 04, 2007 2:36 am    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

SilentWind wrote:
1) The first subscriber receives messages faster than the others

The ordering of messages is very system- and implementation-dependent. Given that it's a requirement that each subscriber process messages immediately and in parallel with the others, you need a Session for each one. JMS says the Session must be used and usable on only one thread at a time. Also, let's say a system has 1000 subscribers - should the system give a message to subscriber 1, then give a message to subscriber 2, etc. or should it give several to subscriber 1, then give several to subscriber 2, etc. In this scheme, subscriber 1000 might wait a very long time for messages. Parallel execution is not an option within the same Session, so some linearity is inevitable. The quick answer to this is: have very few subscribers per Session if possible.

But from previous posts multiple Sessions appears not the best solution either. Was it really the multiple-session (multiple MQI connection) issue that was causing your problems? It would be a pity to solve a problem that didn't need solving here.

Quote:
2) The subscribers take significantly longer to register their listeners

Like, how long?

Quote:
3) Upon receiving their respective topics, they will throw a BrokerException error and will disconnect from the server. The interval and exact error message I will post at a later date as I would need to run the test again because I did not take down the exact results.

Suggest you raise a call with IBM Support - sounds like a bug. Please post the details if/when you have them.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2, 3  Next Page 2 of 3

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » The connections numbers
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.