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 » General IBM MQ Support » ETC and QMgr side resources used

Post new topic  Reply to topic
 ETC and QMgr side resources used « View previous topic :: View next topic » 
Author Message
RogerLacroix
PostPosted: Thu Aug 02, 2012 4:21 pm    Post subject: ETC and QMgr side resources used Reply with quote

Jedi Knight

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

All,

I'm trying to help out a customer with a really strange problem where the queue manager appears to hang but really is just refusing to accept new connections (and no, it has nothing to reaching the max number of connections).

- The server-side queue manager is on Solaris x86 64-bit running WMQ v7.0.1.8.

- Client-side is a JMS application using ETC, and very old (and outdated) MQ JAR files connecting remotely to the queue manager.

The application has not changed in a long time. The only 2 things that has changed in the last few months is: (1) is applied Fix Pack 7.0.1.8 and (2) the volume of connections may have increased.

Before I describe the application, yes, it is poorly written and it is what it is and has been running for the customer for at least 5 years, so lets just skip over the "poorly designed" or "should be redesigned" comments.

The application uses JMS and ETC to create a transaction and does the following: MQCONN, MQOPEN, MQPUT, MQCLOSE, MQDISC (it uses JMS verbs, I just used the MQ API). It does roughly 4.2 connections per second. Or roughly 252 connections per minute. It has burst where the application exceeds 30 connections per second (yes, in a perfect world, this application should be written).

The customer has been using MQAUSX for authentication on this server without change for at least 18 months. MQAUSX forks a process to do the authentication on Solaris. It appears that some sort of resource limit is being hit because in 1 MQ trace, the MQAUSX fork appears to fail but MQAUSX logfile does not show any failure (yes, yes he said she said).

On the same setup in their "stage" environment, the problem does not happen but their stage environment does less than half the number of numbers per second as compared to production environment. So again, I'm thinking it is a resource issue.

I created the same environment as the customer and I have spent a week running test harnesses without any failure. I can drive 120 connections per second (7200 per minute), sustained over 24 hours to my Solaris x86 queue manager (v7.0.1.8 ) and it processes everything perfectly. I have been doing my testing with regular connections (non-ETC) as I only found out about ETC usage by the application last night.

The "hanging" seems to happen after 24 hours. Not like clock-work but more after "x" number of connections. Now I would put the number of connections after 24 hours to be at least 300,000 connections. Note: The 300,000 value is only a guess on my part based on the 4.2 connections per second over a 24 hour period.

When they remove the security exit from the channel, then the "hanging" does not happen (oh what fun!!).

So, the question is: what "extra" resources on Solaris does the queue manager's MCA use when dealing with a connection using a transaction versus a regular non-ETC connection.

I am not a Solaris SysAdmin. Here is what the customer is using for kernel values:
Code:
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=2048
set semsys:seminfo_semmni=2048
set semsys:seminfo_semaem=16384
set semsys:seminfo_semvmx=32767
set semsys:seminfo_semmns=16384
set semsys:seminfo_semmsl=100
set semsys:seminfo_semopm=100
set semsys:seminfo_semmnu=16384
set semsys:seminfo_semume=256
set shmsys:shminfo_shmseg=1024
set rlim_fd_cur=10000
set rlim_fd_max=10000

Does anyone see any resource that is too low for doing roughly 30 ETC connections per second?

Any help, hints or tips would be greatly appreciated.

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
fjb_saper
PostPosted: Thu Aug 02, 2012 8:53 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Looking at the fact that they use antiquated java libraries there might also be the risk of a connection leak / factory leak.
Does this problem also happen if they use the 7.0.1.8 JMS libraries?

The other impact with heightened volume and ETC is to the log space usage. Worth checking if running out of resource...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
RogerLacroix
PostPosted: Mon Aug 06, 2012 5:17 pm    Post subject: Reply with quote

Jedi Knight

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

fjb_saper wrote:
Does this problem also happen if they use the 7.0.1.8 JMS libraries?

Good question but it will be tough to get them to switch.

fjb_saper wrote:
The other impact with heightened volume and ETC is to the log space usage. Worth checking if running out of resource...

Besides the df command, what other commands could be used?

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
fjb_saper
PostPosted: Mon Aug 06, 2012 10:40 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

RogerLacroix wrote:
fjb_saper wrote:
Does this problem also happen if they use the 7.0.1.8 JMS libraries?

Good question but it will be tough to get them to switch.

fjb_saper wrote:
The other impact with heightened volume and ETC is to the log space usage. Worth checking if running out of resource...

Besides the df command, what other commands could be used?

Regards,
Roger Lacroix
Capitalware Inc.


How about
Code:
ls -ltr <qmgr log path>/<qmgrname>/active | grep LOG | wc -l

as a way to count the number of files? If linear logging, you will then need to check the number of the file needed for restart of qmgr.

If circular logging, just check whether the total number of logs has reached the number of primaries + secondaries...

Note that if you're running out of primaries + secondaries you should also see in the error logs some transactions being rolled back because of lack of resource ( allocated log space).

For linear logging I use ms0L which gives you in the log the number of files found, start number, end number, last needed for restart and last needed for media recovery...
Running it every hour nicely shows the evolution over the day (unix with allocated, dedicated FS with 2 primaries and lots of secondaries) This also lets you evaluate how steep the growth period is and how much log space you need to add....

So you may not be running out of space (df -k . or du -k .) but you may be running out of allocated log space...

Hope it helps
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » ETC and QMgr side resources used
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.