Home > AS/400 Tips > iSeries administrator tips > How to increase performance by grouping users into separate storage pools -- Part V
iSeries 400 Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

ISERIES ADMINISTRATOR TIPS

How to increase performance by grouping users into separate storage pools -- Part V


Ron Turull
04.14.2004
Rating: -4.86- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Set up a private pool for batch jobs

In the first four installments of this series on storage pools (Part I, Part II, Part III and Part IV), we discussed strategies for configuring storage pools and directing user jobs into specific pools. So far, however, we have concentrated only on interactive jobs. In this fifth and final installment, we will focus on batch jobs. If you have a steady flow of batch work, you will want to consider creating a private pool for your batch subsystem(s).

How to set up a private pool for batch jobs
Because batch jobs do not have interactions, they are usually constantly executing (unless waiting on a locked record, data queue, etc.). Therefore, the number of activity levels for a batch pool should be equal to the maximum number of jobs that can be active in that pool at the same time.

To determine the maximum number of jobs that can be active in that pool at the same time, display the subsystem description with the DSPSBSD command. Choose option 1 (Operation attributes) and note the number shown for the Maximum jobs in subsystem parameter. Next, go back to the Display Subsystem Description display and choose option 6 (Job queue entries). Total the numbers in the Max active column. (Note: If one or more job queues has *NOMAX specified for Max active, the total will then be *NOMAX.)

Compare this total to the number noted earlier for the Maximum jobs in subsystem; the lesser of the two will be the maximum number of jobs that can be active in one of the subsystem's pools at any given time and, hence, is the number of activity levels you should specify for that pool.


Ron Turull

Because which job queue the job comes in on has no bearing on which pool the job will execute in (remember this is a function of the routing entries), the above approach to determining the maximum number of jobs that can be active in a pool at the same time works just fine. However, if you have set up specific controls to ensure that fewer jobs are allowed active in a pool (e.g., adopting a procedure that all jobs routed to a certain pool will be submitted to a specific job queue), use this number for the number of activity levels.

The storage size of a batch pool should be equal to the number of activity levels multiplied by the average amount of memory needed for a batch job. Here are some rough guidelines:

  • 1 - 3.5 MB for normal production batch jobs. Short and relatively simple jobs should not need more than 1 MB. Long-running and relatively complicated jobs will need up to 3.5 MB.
  • 2 MB per query, sort, save and/or restore. Jobs running any type of query (a Query/400 query, a sort, an SQL query, an OPNQRYF, etc.) require about 2 MB for efficiency. Ditto for save or restore jobs.
  • 16 MB for compiles. If your batch pool will be handling compiles, allow for about 16 MB per compile job. The ILE compilers gobble up memory, so you may want to bump up to 24 MB per compile job. However, if you are short on memory, you can squeak by on 12 MB per compile, or try submitting all compile jobs through a job queue that has a max active attribute of 1 or 2 (or whatever fits your needs).

Once you have determined size and number of activity levels, you can follow roughly the same procedure that we used to set up interactive pools to set up the new batch pool. Use the CHGSBSD command to add a new pool to a batch subsystem. Then, if you are working with an existing functional subsystem, you can simply change the storage pool identifiers in the existing routing entries using the CHGRTGE command to route jobs to the new pool. Alternatively, you can add a new routing entry to the subsystem, then specify the appropriate routing data on the SBMJOB command when you submit batch jobs.

Remember to monitor the new pool
After you have completed setting up a new pool, don't forget to use the WRKSYSSTS display to monitor the vital signs of the pool (see "How to use the WRKSYSSTS to monitor your system" -– Part I and Part II). Make sure the page fault rates and the wait-to-ineligible transition rate fall below the recommended guidelines.

For interactive pools, you will also want to monitor the individual users using the WRKACTJOB display. Make sure the response times are less than 1.0.

-----------------------------------
About the author: Ron Turull is editor of Inside Version 5. He has more than 20 years' experience programming for and managing AS/400-iSeries systems.


Rate this Tip
To rate tips, you must be a member of Search400.com.
Register now to start rating these tips. Log in if you are already a member.




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Systems Management
Can you trust all those trigger programs?
Are your backups complete?
Controlling remote command processing
Watch your profiles
Avoid locking issues
Send message to users at a remote site
Security journal receiver management
Top 10 backup commands
Tracking critical file access in real time
Create an iSeries Access image and update it with the latest Service Pack

OS/400
Top 10 backup commands
Take control of your iSeries
How to save time using the CPYTOPCD and CPYFRMPCD commands
Top Q&A's on the OS/400
Top 10 security tips
Use caution when providing access to file shares
How to set up an autostart job
How does Sarbanes-Oxley affect you?
Automated disaster recovery revisited
Top 10 Administrator Tips

iSeries administrator tips
Translating Linux for IBM i admins: Using GUI to make it easy
Translating Linux for IBM i admins: Working with jobs and networking
OpenOffice: What to know before making the transition from Microsoft Office
OpenOffice: An enterprise open source solution
Database performance comparisons on IBM i
Translating Linux for IBM i admins: User profile commands
Modern System i reports using Client Access
Tips for installing Lotus Domino server on a System i partition
The iSeries Blog has a new home on IT Knowledge Exchange
Virtualization for IBM i: Backups

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



iSeries Security - Security Tools, Physical Security and System Security
HomeNewsTopicsITKnowledge ExchangeTipsBlogsAsk the ExpertsMultimediaWhite PapersProducts
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 1999 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts