How to improve the performance on AS400?


This is a generic question related to performance. There is an application running on AS400, which is written in RPG/400 and CL/400. The performance is bad. How to improve the performance? For improving the performance, what all parameters need to be considered. Where do we look first for improving the performance. Please provide some usefull tips on improving the performance.

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You could always do a


But it wont change the code in the program, and usually that's the part that need to be optimized.

Is your CL/400 doing any OPNQRY on file which could have a Logical file with better key...

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
We really need to know what the RPG and CL are doing to answer your question... One thing that might work is buying a faster AS/400 lol Can't really say anything usefull without knowing what your programs do...

Performance? Of what?

Displaying the first screen? Calculating shipping charges? Updating all employee records? Is it batch running overnight or running in the middle of the day while hundreds of users are working interactively? Is it RPG II and an OPM CL program that's called for every record? or optimized ILE RPG with a bound ILE CL module? Dynamic SQL? or native database? Reading a million records and only updating a few because those are the ones that have the code that indicates they should be updated?

To optimize performance, you need to optimize according to the work that will be done. If calculations are too slow, you need to optimize for CPU and possibly memory. Time-slice and activity levels might be useful. If I/O is slow, you need to optimize for things such as buffers and proper access techniques, e.g., sequential vs. random, or blocked/unblocked. Locks and siezes might interfere. Excessive authority checking might be a culprit.

Changing any one might affect other jobs.

Without some specifics, I'm not sure what can be suggested.

Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

premavaniAuthor Commented:
Hi Tom,

Thank u very much for ur answer.

I need answers for all your questions. Its a generic question on performance.
Please do provide answers for all your questions.


In that case, this is the first part of the answer:

..or more current:

When you know that info, we can go off in the various directions above. I'm not sure how else to answer since your question essentially means everything the system does and how to control it.


The previous experts have pretty much covered what can be done with the limited amount of information supplied.

Performance is a perception: what is ok for one site is unacceptable for another!
As a general rule of thumb the as/400 loves memory and disk, try to keep disk utilisation below 70% and the disk balanced (See question  http:Q_20795355.html  this has some useful tips)

on a command line type

These are some of the as/400 performance tools – but with out specifics it is hard to say.
The as/400 is a very complex beast and has hundreds of ways to optimise performance dependant of the nature of the site.

BEWARE if you tweak with-out knowing what you are doing you can make things a lot worse.


premavaniAuthor Commented:
Thanks Tom and Dave.

As i mentioned earlier, this is a generic question. I am not implementing these tips, this is just for my reference. Exploring my knowledge in all aspects of AS400.

Anyway thanks for your feedback.

Tom, the URL that you have provided is very usefull. Thanks for providing that.


A big part of the problem is that there are always physical limitations to a system. If you make one process use more of the CPU, then other processes generally get less CPU. If you dedicate more memory to one process, then other processes generally get less. If one process gets to use all of your disk space, then there's none for other processes.

It's very easy to increase performance for any process.

The trick is in understanding the whole environment so everything else doesn't get dragged down. A system that acts as a database server on a LAN will need very different attention than one that's primarily a bunch of interactive record maintenance processes. A web server needs different attention than a batch reporting system even though both are "batch".

If we have no idea what the environment is and we have no idea what the performance problem is, we also have no idea whether performance is tied to a slow network interface or memory contention or low interactive capacity or poor I/O blocking or too many temporary index builds or continuous authority checking or any of a hundred other things. (In fact, we don't yet even know if a performance problem exists.)

No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Accept tliotta comment as answer
Accept Helixir comment as assistedanswer
Accept daveslater  comment as assisted answer

Please leave any comments here within the next four days.

Page Editor
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
IBM System i

From novice to tech pro — start learning today.

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.