24
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

Improving Efficiency of I/O Bound Systems

Embed Size (px)

DESCRIPTION

Discover how to solve critical performance issues by understanding that high disk activity, slow I/O response and excessive application I/O requests are responsible. You'll also learn why these kinds of issues can't be solved by CPU upgrades.

Citation preview

Page 1: Improving Efficiency of I/O Bound Systems

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

Page 2: Improving Efficiency of I/O Bound Systems

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

Page 3: Improving Efficiency of I/O Bound Systems

System Navigator

Page 4: Improving Efficiency of I/O Bound Systems

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

Page 5: Improving Efficiency of I/O Bound Systems

Physical Reads

Page 6: Improving Efficiency of I/O Bound Systems

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

Page 7: Improving Efficiency of I/O Bound Systems

Access Path Rebuilds

Page 8: Improving Efficiency of I/O Bound Systems

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

Page 9: Improving Efficiency of I/O Bound Systems

Query Optimizer

Page 10: Improving Efficiency of I/O Bound Systems

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

Page 11: Improving Efficiency of I/O Bound Systems

Copy File Operations

Page 12: Improving Efficiency of I/O Bound Systems

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

Page 13: Improving Efficiency of I/O Bound Systems

Opens and Closes

Page 14: Improving Efficiency of I/O Bound Systems

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

Page 15: Improving Efficiency of I/O Bound Systems

Workload Navigator

Page 16: Improving Efficiency of I/O Bound Systems

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

Page 17: Improving Efficiency of I/O Bound Systems

Operating System Program

Page 18: Improving Efficiency of I/O Bound Systems

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

Page 19: Improving Efficiency of I/O Bound Systems

Application Program

Page 20: Improving Efficiency of I/O Bound Systems

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

Page 21: Improving Efficiency of I/O Bound Systems

Database File

Page 22: Improving Efficiency of I/O Bound Systems

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

Page 23: Improving Efficiency of I/O Bound Systems

Procedure Name

Page 24: Improving Efficiency of I/O Bound Systems

Q&A

To receive MB Software’s FREE performance evaluation:

1. Register at http://www.mb-software.com 2. Download and install software on AS/400 or iSeries 3. 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!

Questions & Answers