240 likes | 493 Views
Improving Efficiency of I/O Bound Systems. Improving Efficiency of I/O Bound Systems. More Memory, Better Caching Newer and Faster Disk Drives Set Object Access (SETOBJACC) Reorganize (RGZPFM) w/ Key File Applications Requesting Less I/O. Validate That System Is Actually I/O Bound.
E N D
Improving Efficiency of I/O Bound Systems Improving Efficiency of I/O Bound Systems • More Memory, Better Caching • Newer and Faster Disk Drives • Set Object Access (SETOBJACC) • Reorganize (RGZPFM) w/ Key File • Applications Requesting Less I/O
Validate That System Is Actually I/O Bound Validate That System Is Actually I/O Bound • CPU Is Under Utilized! • Poor Interactive Response Time • Long Running Batch Jobs • High Memory Faulting • High Disk Actuator Arm Activity
Identify Files With Highest Physical I/O Identify Files With Highest Physical I/O • Set Object Access (SETOBJACC) • Better Blocking of Data • Internal Program Arrays • Purge Old Transaction History • Build Better Logical Files • Stop Full Table Scans
Tune Database, Avoid Access Path Rebuilds Tune Database, Avoid Access Path Rebuilds • Identify Files Most Heavily Hit • Avoid SQL Full Table Scans • Limit Access Path Rebuilds • Small Tables OK, Large – Not! • Basic Database Administration • Dramatic Reduction in I/O Needs
Identify Specific Culprits & New Logicals Identify Specific Culprits & New Logicals • Batch, Interactive or ODBC • Specific Jobs and Users • Actual I/O by File and Program • Skipped Records v.s. Selected • New Permanent Logical Files • Delete Old Ones Not Being Used
Avoid Simple CL Programming Issues Avoid Simple CL Programming Issues • Never CPYF w/ SELECT/OMIT • Use OPNQRYF and CPYFRMQRYF • Easy Technique, Limit I/O Needs • Use RPG, COBOL, SQL, etc.. • Prevent I/O From Full Table Scans • Work File in QTEMP w/ Keys
Prevent Unnecessary Opens and Closes Prevent Unnecessary Opens and Closes • Leave Files Open, Reuse Paths • Simply Move Record Pointer • Files Left Open All Day, GOOD! • Better Than Constant Opens/Closes • Share Open Data Paths Correctly • RETRN v.s SETON LR
Identify Specific Job and User Culprits Identify Specific Job and User Culprits • Focus on 80/20 Rule • Get Hardware & Software In Sync • Database Tuning • System Management Changes • Application Optimization Changes • Hardware Upgrades
Find Specific Operating System Functions Find Specific Operating System Functions • QQQIMPLE and QSQROUTE • QDBGETSQ v.s. QDBGETKY • Trace Back to Application Program • Simple Code Changes, No Rewrite • Weigh Cost v.s. Benefit • Find Quick, Easy Code Fixes
Analyze Application Program Efficiency Analyze Application Program Efficiency • 75% Finding Data, Inefficient! • Less Time Searching, Sorting • Free Up I/O Bottleneck • Allow CPU to be Used Effectively • Consume Resource w/ Updates • Process Only Selected Transactions
Identify Specific Database File I/O Counts Identify Specific Database File I/O Counts • Compare Reads to Writes/Updates • Less Time Reading via Indexes • Reduce I/O to Only Selected Records • Avoid Full Table Scans • Prevent Access Path Rebuilds • Use Proper Keyed File Sequences
Find Procedures within Code Causing Issues Find Procedures within Code Causing Issues • Rewrite Just Specific Procedure • Summarize Data More Efficiently • Use Pre-Summarized Data Tables • Avoid Constant Re-Processing • Extract Data Once, Reuse Many • Process Only “OPEN” Transactions
Q&A Questions & Answers To receive MB Software’s FREE performance evaluation: 1. Register at http://www.mb-software.com2. Download and install software on AS/400 or iSeries3. Call (800) 713-5034 to schedule your free performance review session What To Expect: After allowing performance data to accumulate for one full business day, you will log into a secure area of MB Software’s web site. We will then have a conference call to discuss our findings and how you can gain performance improvements with your existing applications. It’s that easy!