Novidades do Progress OpenEdge 10.2B: Index Build

Escrito por Adriano Corrêa em 9 de novembro de 2011, 16:39h

Com o service pack 5 liberado, algumas funcionalidades foram adicionadas ao processo de indexação.

O parãmetro –TB, que antes tinha o valor máximo de 31, passou a ser limitado em 64. Esse parâmetro indica o tamanho do bloco para fazer o sort de dados. Na prática, quanto maior melhor, logo esse parâmetro com o valor 64 deverá agilizar o processo de indexação.

Foi criado o parâmetro –TF para o Progress carregar os dados para sort em memória. Antes era em disco. Informe para esse parâmetro o percentual de memória que o Progress pode usar para executar o processo. Por exemplo, –TF 90, indica que o Progress poderá utilizar 90% da memória do servidor. Se o parâmetro não for especificado, o Progress automaticamente tentará usar a metade da memória do servidor para o processo.

Por último, o parâmetro –rusage informa estatísticas de utilização de recursos do servidor ao final do processo de indexação.

Fiz um teste com um banco de dados de aproximadamente 6 Gigabytes em um servidor Linux 64 com OpenEdge 10.2B02 64 bits. Indexei esse banco 3 vezes para estabelecer o tempo médio de indexação em 233 segundos. O comando abaixo foi usado para indexar:

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

Após instalar o service pack 5 indexei novamente o banco por 3 vezes, estabelecendo o tempo médio de 201 segundos. Dessa vez foram utilizados os novos parâmetros. O comando executado foi:

proutil hcm210a –C idxbuild all –TB 64 –TF 90 –SG 64 –spin 2000 –thread 1 –threadnum 4

Para esse banco, estabelecemos um ganho de aproximadamente 14%.

Alerta: Fiz novos testes utilizando o parâmetro de estatística do processo (-rusage), e o tempo médio pulou para 219 segundos.

Teoricamente, quanto maior o banco de dados, maior será o percentual de ganho, até o limite de memória do servidor, pois o tempo de leitura dos dados em disco não irá mudar. A redução do tempo está no processo de sort dos dados em memória, ao invés do disco.

Categorias: Banco de dados | Desempenho | Progress

Tags: ,

Comentários (2) -

em 21 de novembro de 2011, 15:14h

Boa tarde Adriano.
Costumava realizar os reindexes com -B e setava o valor que queria utilizar no processo,com esse parametro -TF não se faz necessario mais isso confere?
Parabens pelos posts.
Att

Thiago Sebek

em 21 de novembro de 2011, 17:27h

Na verdade, o -B não ajudava muito sentido para o processo antes também.

A indexação le bloco de dados e grava bloco de índice, então ele não é muito útil. O valor padrão, que aumentou na 10.2B, já deve ser suficiente. Versões anteriores era baixo (512) então era bom aumentar um pouco.

Seria útil se gravasse informação no bloco de dados, mas não é o caso.

Adriano.

adriano

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading


Acesso LogMeIn

Informe o código PIN: