Improving Efficiency of I/O Bound Systems More Memory, Better Caching Newer and Faster Disk Drives...

Preview:

Citation preview

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

System Navigator

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

Physical Reads

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

Access Path Rebuilds

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

Query Optimizer

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

Copy File Operations

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

Opens and Closes

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

Workload Navigator

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

Operating System Program

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

Application Program

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

Database File

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

Procedure Name

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