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

ISERIES ADMINISTRATOR TIPS

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


Ron Turull
03.03.2004
Rating: -5.00- (out of 5)


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


In Part I of this series we discussed the benefits of putting high-activity users in their own storage pool. (A high-activity user is one that presses the Enter key all day long, such as an order-entry employee.) Such users alone can be responsible for a majority of the transactions that your system processes each day. Making sure those employees never have to wait on the CPU is key to making them efficient.

In Part I, we learned about private storage pools and shared storage pools, and how to route users to the storage pool you want. In Part II, we discussed how to calculate values for the two parameters that govern the performance of jobs in a storage pool, activity levels ,and pool size. Now let's take a look at how you use these values to configure a private storage pool and how you route certain users into that storage pool.


Ron Turull

How to set up a private storage pool
Once you have determined your initial values for the pool size and the number of activity levels, you can create the pool. (For the example assumptions that we used in Part II, we calculated a pool size of 20MB with two activity levels.)

To create a private storage pool in subsystem QINTER, execute the following command:

CHGSBSD SBSD(QINTER) POOLS((3 20000 2))

The POOLS parameter, is used to create, delete or change a subsystem's pools. The first element, 3, specifies the pool identifier. This is the pool identifier within the subsystem, not the system-level pool identifier that gets assigned when the subsystem starts and memory is actually allocated to the pool. This example assumes that there is not a pool 3 already existing in QINTER. (Use the WRKSBS command to get an overview of the current active pools on your system.)

The second element on the POOLS parameter is the size of the pool in kilobytes (20000 in the example above, which is 20MB).

The third element is the number of activity levels, 2.

If your order-entry users run in different subsystems (e.g., some run in QINTER and others run in QINTER2), you can create a shared storage pool. We'll discuss that next time.

How to assign users to a separate pool
Once the pool is created, we need to set up a routing entry so the order-entry users will be routed to and execute in the new pool. When a job starts in a subsystem, the routing entries for that subsystem are checked in order from 1 to 9999. The routing data specified for the job is checked against the compare values specified in the routing entries. When a match is made, that routing entry is used to route the job to the storage pool associated with that routing entry. (Note: The routing entry is also used by the system to determine the class and the initial request-processing program for the job.)

To create a routing entry for the order-entry users, execute the following command:

ADDRTGE SBSD(QINTER) SEQNBR(499) CMPVAL(ORDER_ENTRY) PGM(QCMD) CLS(QGPL/QINTER) POOLID(3)

The sequence number 499 is arbitrary and can be anything you want as long as it is not being used by another routing entry. The compare value is 'ORDER_ENTRY'. The pool identifier (POOLID) should match the pool identifier that you assigned to the pool using the CHGSBSD command (see above). The rest of the parameters are duplicated from the routing entry with a compare value of 'QCMDI'. (This is a default routing entry shipped with the QINTER subsystem as routing entry number 10.)

The key to putting this all together is to create a new job description for the order-entry users. To make things easy, simply duplicate the job description they currently use (check their user profile to determine the current job description) calling it something like ORDENTJOBD. Then, just change the routing data in the new job description. For example, use the following commands:

CRTDUPOBJ OBJ(FromJOBD) FROMLIB(FromLIB) OBJTYPE(*JOBD) TOLIB(ToLIB) NEWOBJ(ORDENTJOBD)
CHGJOBD JOBD(ORDENTJOBD) RTGDTA(ORDER_ENTRY)

Finally change all the order-entry user profiles to use this new job description. The next time they sign on, the new job description will be used. The routing data in the job description (ORDER_ENTRY) will be used to find a matching routing entry in the subsystem. ORDER_ENTRY will match the compare value of the newly created routing entry 499, and the job will be routed to pool number 3.

-----------------------------------
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.

==================================
MORE INFORMATION
==================================


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.


Submit a Tip




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



RELATED CONTENT
iSeries administrator tips
Researching high availability for your System i shop
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

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
Create an iSeries Access image and update it with the latest Service Pack
Tracking critical file access in real time

Performance
ILE CL can boost productivity and performance
How to increase performance by grouping users into separate storage pools -- Part II
How to increase performance by grouping users into separate storage pools -- Part I
Managing system performance using iSeries Navigator
The iSeries doctors are in

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