|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
ETC and QMgr side resources used |
« View previous topic :: View next topic » |
Author |
Message
|
RogerLacroix |
Posted: Thu Aug 02, 2012 4:21 pm Post subject: ETC and QMgr side resources used |
|
|
 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 |
|
 |
fjb_saper |
Posted: Thu Aug 02, 2012 8:53 pm Post subject: |
|
|
 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 |
|
 |
RogerLacroix |
Posted: Mon Aug 06, 2012 5:17 pm Post subject: |
|
|
 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 |
|
 |
fjb_saper |
Posted: Mon Aug 06, 2012 10:40 pm Post subject: |
|
|
 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 |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|