Consultor Eletrônico



Kbase 63457: Novedades del Progress OpenEdge 10.2B: Index Build
Autor   Tatiane Koslinsky - CAT
Acesso   Público
Publicação   8/28/2017
Con el service pack 5 liberado, se agregaron algunas funcionalidades al proceso de indexación.

El parámetro –TB, que antes tenía el valor máximo de 31, pasó a tener el límite en 64. Este parámetro indica el tamaño del bloque para realizar el sort de datos. En la práctica, cuanto más grande mejor, entonces, este parámetro con el valor 64 debe agilizar el proceso de indexación.

Se creó el parámetro –TF para que el Progress active los datos para sort en la memoria. Antes era en disco. En este parámetro informe el porcentaje de memoria que o Progress puede utilizar para ejecutar el proceso. Por ejemplo, –TF 90, indica que el Progress puede utilizar el 90% de la memoria del servidor. Si no se hubiera especificado el parámetro, el Progress automáticamente intentará utilizar la mitad de la memoria del servidor para el proceso.

Finalmente, el parámetro –rusage informa estadísticas de utilización de recursos del servidor al final del proceso de indexación.

Hice una prueba con una base de datos de aproximadamente 6 Gigabytes en un servidor Linux 64 con OpenEdge 10.2B02 64 bits. Indexé esta base 3 veces para establecer el tiempo medio de indexación en 233 segundos. Para indexar se utilizó el siguiente comando:

proutil hcm210a –C idxbuild all –TB 31 –TM 32 –SG 64 –spin 2000 –thread 1 –threadnum 4

Después de instalar el service pack 5 indexé nuevamente la base por 3 veces, estableciendo el tiempo medio de 201 segundos. En esta oportunidad se utilizaron los nuevos parámetros. El comando ejecutado fue:
proutil hcm210a –C idxbuild all –TB 64 –TF 90 –SG 64 –spin 2000 –thread 1 –threadnum 4

Para esta base establecemos una mejora de aproximadamente un 14%.
Alerta: Hice nuevas pruebas utilizando el parámetro de estadística del proceso (-rusage) y el tiempo medio subió a 219 segundos.

Teóricamente, cuanto más grande la base de datos, mayor será el porcentaje de mejora, hasta el límite de memoria del servidor, pues el tiempo de lectura de los datos en disco no cambiará. La reducción del tiempo está en el proceso de sort de los datos en memoria, en lugar del disco.