You are on page 1of 6


1 de 6

Anteproyecto Sostenibilidad Plataforma iSeries Aplicaciones iSeries Abuso IO

Pg. 2 de 6

Anlisis y Diagnostico Tema Alcance Importante Abuso IO Revisar las recomendaciones y elaborar plan de trabajo detallado con sus respectivos impactos El anlisis se debe realizar con base en las recomendaciones de IBM Analista Gerencia Wilson Ferney Torres Soluciones del Pasivo Mauricio Atehortua Soluciones de Integracin Javier Ignacio Saldarriaga Plataformas

Equipo de Trabajo Detalle:

A continuacin se detallan las recomendaciones iniciales de IBM a travs de Dave Lewis sobre este tema: PROJECT NAME: Reduce IO DESCRIPTION: The CSI tool shows the average disk response times fall below the guideline of 5 milliseconds per IO, but some IO intensive jobs will still perform better by further reducing unnecessary IO RECOMMENDATION: Remove deleted records. Change files to reuse deleted records. El siguiente es el anlisis y las recomendaciones realizadas por Tom Edgerton durante su visita en el mes de Julio: I/O ANALYSIS Logical Blocking One very easy way to reduce I/O and CPU on a partition is to change programs that are reading a file sequentially (table scan) to use blocking. There are two ways that blocking can be used, 1. is to use SQL instead of native I/O. SQL will automatically use blocking. The second way to implement blocking is to change the programs F spec in the case of RPG. Here is an example: Without Blocking * FQAPMJOBMI IF E DISK F* F********************************* With blocking turned on FQAPMJOBMI IF E DISK BLOCK(*YES)

Then the OVRDBF command can be used to increase the blocking factor from 8k to 128k, which is what SQL does automatically. This can be done with the OVRDBF SEQONLY(*YES N) where N is the record length divided by the block factor.

Pg. 3 de 6

Blocking Considerations: The fields of the input/output specific feedback in the INFDS and in most cases the fields of the device specific feedback information section of the INFDS, are not updated for each operation to the file in which the records are blocked and unblocked. The feedback information is updated only when a block of records is transferred between an RPG program and the operating system. However, if you are doing blocked input on a data base file, the relative record number and the key value in the data base feedback section of the INFDS are updated: On every input/output operation, if a POST for any file with factor 1 blank has not been specified anywhere in your program. Only after a POST for the file, if a POST for any file with factor 1 blank has been specified anywhere in your program. You can obtain valid updated feedback information by using the CL command OVRDBF (Override with Database File) with SEQONLY(*NO) specified. If you use a file override command, the ILE RPG compiler does not block or unblock the records in the file. For more information on blocking and unblocking of records in RPG see WebSphere Development Studio: ILE RPG Programmers Guide

Logical Blocking Analysis More analysis is needed to determine if there are any additional programs that could benefit from using blocking. Here is a list of the ones that I have found so far. These programs are also documented in the Project Management Task List. DOPLIBRP/DOPCDEVPDT PGCLIBRP/PGCRPVCBS CIBCORDNB1 CIBCORDNBE PGCRVAPCA1 BVCRACDVFS CIBCORDPN1 The list above is just a start, once these programs are changed I would suggest additional traces be collected to help identify any additional programs that are doing sequential reads.

Pg. 4 de 6

Physical Disk I/O Totals 8 am to 6 pm Sorted by generic job

Sorted by full job name

Pg. 5 de 6

Physical Disk I/O Totals 6 pm to 12:00 am Sorted by generic job

Sorted by full job name

Pg. 6 de 6

I/O Counts by object by COMTR01001

Each full db file open involves: Writes to the system database in use table (synchronous (waited-on) disk writes) CONCLUSION The number of I/Os will decrease with the decrease of the number of full opens.

Plan de Trabajo.

Abuso IO.xlsx