• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 442
  • Last Modified:

Issue with Java Application performance on iSeries

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
DebeG
Asked:
DebeG
  • 5
  • 2
1 Solution
 
Bryan ButlerCommented:
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
 
Bryan ButlerCommented:
There are also static and dynamic code analyzers that might do the trick.
0
 
DebeGProgrammerAuthor Commented:
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: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

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.

 
Bryan ButlerCommented:
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
 
Bryan ButlerCommented:
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
 
DebeGProgrammerAuthor Commented:
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
 
Bryan ButlerCommented:
Great. Please let us know how it goes.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now