Author |
Message
|
bigdavem |
Posted: Mon Oct 13, 2003 10:39 pm Post subject: AIX CPU usage |
|
|
 Acolyte
Joined: 16 Sep 2001 Posts: 69 Location: Sydney, Australia
|
We're running MQ v5.2 CSD07 on AIX 5.1. On the weekend we cut over one of our desktop apps to this server so that we now have 300-500 java apps connecting as MQ clients via a SVRCONN to a single queue manager. Over the last two days we have noticed a major increase in load on the server and the finger is being pointed at MQ. I wouldn't think that what we're doing would bring a shiny brand new p670 to its knees, but I don't know enough about unix to prove my case.
Can anyone tell me how I can find out exactly how much CPU and memory MQ is using up? There are a few hundred MQ processes running - I presume there is one process for every java app. Is there any way to pool these processes so that a number of java clients can connect through a single process? Would this provide any benefit? Any other suggestions on reducing CPU load on AIX? |
|
Back to top |
|
 |
xxx |
Posted: Mon Oct 13, 2003 11:09 pm Post subject: |
|
|
Centurion
Joined: 13 Oct 2003 Posts: 137
|
300 -500 channels svrconn channels looks like the application is not closing the connections properly,
one way to is to change the code of app to include connection pooling,
You can stop the svrconn and see if the performance improves |
|
Back to top |
|
 |
leongor |
Posted: Tue Oct 14, 2003 1:47 am Post subject: |
|
|
 Master
Joined: 13 May 2002 Posts: 264 Location: Israel
|
500 client connections means 500 amqcrsta processes running.
If you were using WMQ 5.3 I'd recommend switching to runmqlsr instead of inetd to have threads instead of processes.
You also should check if your finished connections are closed.
Check heartbeat interval settings. _________________ Regards.
Leonid.
IBM Certified MQSeries Specialist. |
|
Back to top |
|
 |
bower5932 |
Posted: Tue Oct 14, 2003 5:34 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
You can also use the netstat command to see if the MQ part of your system is hanging onto any tcp/ip connections. When you say java apps, do you mean java or do you mean jms? This might make a difference as well. |
|
Back to top |
|
 |
bigdavem |
Posted: Tue Oct 14, 2003 3:54 pm Post subject: |
|
|
 Acolyte
Joined: 16 Sep 2001 Posts: 69 Location: Sydney, Australia
|
I don't think there's a problem with the app (famous last words...). It's been running for about 4 years unchanged - all we did is change the MQSERVER variable and qmgr name. Previously it connected to an NT server with no problems.
We're still on MQ 5.2 CSD 07, but we'll be going to MQ 5.3 CSD 04 in a couple of weeks. It's interesting that you recommend using runmqlsr instead of inetd. All the stuff I've seen in the past suggests going in the other direction, using inetd instead of runmqlsr.
I tried netstat, nothing untoward there.
The app is using the MQ java libraries, not JMS.
As I said, I don't think MQ is the issue here, I believe the box was behaving badly before we cut over. My problem is that I can't prove it's not MQ - I really need to get a consolidated view of the CPU MQ is using, but I just don't know how to go about that.... |
|
Back to top |
|
 |
xxx |
Posted: Tue Oct 14, 2003 7:43 pm Post subject: |
|
|
Centurion
Joined: 13 Oct 2003 Posts: 137
|
try
ps aux | head -10
uptime will give you laod average
other commands may be sar or top etc , but the basic Question is why does the application opens 300 to 500 connections ? |
|
Back to top |
|
 |
bigdavem |
Posted: Tue Oct 14, 2003 8:38 pm Post subject: |
|
|
 Acolyte
Joined: 16 Sep 2001 Posts: 69 Location: Sydney, Australia
|
Sorry, I was unclear. The application runs on 500+ Windows workstations, each of which makes one client connection to the server. |
|
Back to top |
|
 |
|