Solved

Issue with Java Application performance on iSeries

Posted on 2008-10-09
9
417 Views
Last Modified: 2013-11-23
I have a java application that run continuously in batch on an iSeries.  The application monitors a database and creates an XML document for the data in the database.  This application is hogging the cpu.  I need some advice on what I can do so the application isn't using as much CPU.  I have run the CRTJVAPGM over all class and jar files in the application's folder, setting the optimization to 30.  What else can be done?  

Thanks  
0
Comment
Question by:DebeG
  • 5
  • 2
9 Comments
 
LVL 16

Expert Comment

by:Bryan Butler
ID: 22806073
There are many things that could help.  If you are sure it is the application, then I'm betting you have an I/O issue.  Are you creating these xml files in the most efficient way?  Also, if there's any logging turned on, then that's more IO.  
0
 
LVL 16

Expert Comment

by:Bryan Butler
ID: 22806076
There are also static and dynamic code analyzers that might do the trick.
0
 

Author Comment

by:DebeG
ID: 22812051
We do have logging turned on, but it is set to INFO.  The program runs multi threads.  I am not sure the issue is the application.  What about garbage collection?  When I submit the job that runs the java program, I just leave the garbage collection set to the defaults.  Would tweaking this value affect CPU usage?   Can you tell me more about static and dynamic code analyzers?

Thanks
0
Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 16

Accepted Solution

by:
Bryan Butler earned 500 total points
ID: 22818357
Well, I doubt garbage collection would cause the problem, but you can tweak it and maybe help some.  There is probably more than one issue, so tweak away.  If you're positive it's not I/O, which I guess you would know if you are creating a ton of logs, or something to that effect, then some analyzing sounds like the next step.  Although if you can turn all logging off, then I'd try it just to see the effect.  As far as anylyzers, the best is going to be an expert pair of eyes.  Many times they will be able to figure out what parts of code are the hogs.  Static anlyzers are not much on performance, but it couldn't hurt.  They basically look at the code and find as many issue as they can w/o running it. A dynamic anlyzer runs the software and would be the performance tool for this case.  They can check all the various things going on behind the seens and let you know where your issue is.  I worked support for a company that had a cool tool to do this.  It was called Identify and is now part of BMC.  It was only java as far as app servers, though, so it wouldn't be good in your case (or are you using app servers?).   I'll try to find some if you'd like.  A search for -  java "performance tools" analyzers OR analyze - found a Java Performance Tuning website and many others that look promising.
0
 
LVL 16

Expert Comment

by:Bryan Butler
ID: 22818376
Or an even better search for "java performance analyzers iseries" turned up a good IBM web site:

http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzamy/50/admin/prfref.htm
0
 

Author Comment

by:DebeG
ID: 22843277
Thanks for that info, i will look into that website.  And that is a good idea to turn off the logging to see what kind of affect that has on performance.  I will try that this afternoon too.
0
 
LVL 16

Expert Comment

by:Bryan Butler
ID: 22846257
Great. Please let us know how it goes.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…

789 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question