Use MAX1TB Database Indexes
To achieve proper database performance in an environment where multiple concurrent jobs are updating/deleting/adding to the same physical file, you must create or change your logical files using the MAX1TB parameter on the CRTLF (Create Logical File) and CRTPF (Create Physical File) commands. Logical files created/changed this way use 4 byte indexes.
Simply converting logical files to MAX1TB indexes alone won’t improve performance. But it ensures that you’ll have minimum logical file contention and improved processing when the files are changed (e.g., via a record update/add/delete) in a multiple-concurrent-job environment.
The processing improvements occur as a result of the database functions’ "levels of locking" algorithms. When multiple jobs need to update an logical file that uses a 3 byte index, any contention for it requires locking at the highest level (or node) of the index. This means that if multiple jobs each need exclusive control of a different record in the index (for an add or delete operation), only one job at a time can have control.
This bottleneck imposes a hard limit on throughput and can cause consistently low system utilization. If you’ve tried using symmetric multiprocessing (SMP) on a system without converting to MAX1TB indexes, you probably didn’t get the improvement you wanted
With 4 byte indexes, locking occurs at the leaf level, so multiple jobs can access different index records concurrently without significant lock contention and without having any real effect on database processing throughput. ("Leaf" is a term used by the Rochester database guys; basically, it’s a lower-level node of the binary radix tree.)
MAX1TB is the default setting for new logical files created on RISC systems. Logical files migrated from Internal Microprogrammed Interface (IMPI) systems aren’t automatically converted to MAX1TB and will be MAX4GB (3 byte) indexes unless explicitly converted.
To find which of your logical files have 3 byte indexes, run the DSPFD (Display File Description) command for each of the logical files in your database library). If you have keyed physical files, each physical file’s index may have 3 byte or 4 byte indexes. To find the physical files with 3 byte indexes, run DSPFD for your physical files. (put in an explicit example of DSPFD for both Logical & Physical files)
To convert logical files from 3 byte to 4 byte indexes, use CHGLF (or CHGPF for keyed physical files). Depending on your system capacity, use of SMP, and file sizes, this may take anywhere from 10 minutes to 12 hours, depending on the size of the files and the hardware and software configuration. Using SMP can improve the conversion time significantly because the work of changing a logical file is spread among multiple SLIC DBL3 tasks and multiple processors. (put in an example of CHGLF and also for changing keyed physical files from 3 byte to 4 byte).
During CHGLF processing, the file is locked exclusively, so you should convert files when other jobs don’t need them.
Tuesday, March 01, 2005
Subscribe to:
Post Comments (Atom)
Popular Posts
- Linux Forum: Apache, Webmin and Mandrake - Linux Operating System Help
- Yahoo! Mail: Revenge of the Oddpost
- Free AS400 & iSeries Software Tools & Utilities Downloads
- Basic Requirements of a JavaServer Faces Application
- UDATE and *DATE in AS400 RPG
- IBM eServer iSeries - The Laughing Boardroom
- AS400 APIs
- The Laughing Boardroom video...a real world example!
- Fast-track your Web apps with Ruby on Rails
- Encrypt Data on as400 (QC3ENCDT, Qc3EncryptData)
No comments:
Post a Comment