Parâmetros de desempenho no banco de dados Progress 10.1C

Escrito por Adriano Corrêa em 21 de outubro de 2008, 14:56h

A partir da versão 10.1C do Progress, alguns parâmetros de desempenho podem ser aumentados online. Até o momento a Progress desenvolveu apenas a alternativa de incrementar os valores. Ficaremos no aguardo da possibilidade de manipulá-los de qualquer forma.

Os parâmetros que sofreram alterações são os seguintes:

  • -B: Buffers de banco de dados.
  • -Mxs: Area de overflow da shared memory.
  • -bibufs: Buffers de before-image.
  • -aibufs: Buffers de after-image.
  • -L: Tamanho da tabela de Lock.

Para alterá-los, foi adicionado o procedimento increaseto ao comando proutil. O comando é usado conforme exemplo abaixo:

proutil nome-banco -C increaseto -B n -Mxs n -L n -bibufs n -aibufs n

O valor "n" especificado deverá apontar o novo valor do parâmetro. Esse novo valor deverá ser maior que o valor atual. Se for especificado um valor inferior ao atual, será mostrada a mensagem de erro 13984: Increase Params no valid increase online parameter specified. (13984). Definindo o parâmetro corretamente, será apresentada as mensagens de 13979 a 13983, dependendo do parâmetro. Exemplo para o parâmetro -B: Increase Params increasing buffer pools size (-B) from X to Y. (13980).

É possível executar um comando para cada parâmetro, ou especificar toda a lista de alterações em um mesmo comando, separando cada parâmetro com um espaço.

Além desses parâmetros, lembro que o -spin pode ser manipulado desde a versão 9, através do aplicativo promon, opções: R&D - 4 - 4 - 1.

 

Categorias: Banco de dados | Desempenho | Novidades

Tags: , ,

Comentários (9) -

em 28 de outubro de 2008, 15:16h

Adriano, boa tarde!

Poderia explicar melhor o que seria a opção L: Tamanho da tabela de Lock?

Obrigada!
TAC®

Thalita Ap. Cunha

em 29 de outubro de 2008, 10:11h

A tabela de lock é responsável por armazenar os bloqueios de registros existentes no banco de dados.

Um bloqueio de registro ocorre juntamente com uma transação sobre o banco de dados e existe para garantir que somente uma única alteração está sendo feita no registro no mesmo instante.

O parâmetro define a quantidade de registros que podem ser bloqueados ao mesmo tempo. O aumento do parâmetro pode ser necessário diante da demanda de alguma transação em bloquear mais registros do que definido inicialmente no banco.

O Progress faz esse controle para assegurar que nenhum usuário mal-intencionado faça lock no banco inteiro.

adriano

em 29 de outubro de 2008, 14:09h

Adriano, obrigado pelo esclarecimento, gostaria de tirar só mais uma dúvida.

Estou iniciando um banco de dados com o seguintes parametros
call c:\dlc10\bin\proserve E:\datasul\bancos\ems2\ems2cad -B 500 -Mm 4096 -L 1000000 -N tcp -S 15400 -n 140 -Mn 14 -Ma 10 -Mi 10

Como pode perceber o parametro -L está com 1000000 de registros que podem ser bloqueados, isto é bom? O que aconteceria com o BD quando o registro 1000001 tentasse ser bloqueado através do sistema?

TAC®

Thalita Ap. Cunha

em 29 de outubro de 2008, 17:05h

Esse é um caso onde essa nova funcionalidade da versão 10.1C é aplicada. A tabela de lock, assim como os demais parâmetros de banco de dados, é compartilhada por todos os usuários conectados. Se o parâmetro estourar, as transações que demandaram lock naquele instante são abortadas. Os usuário receberão a mensagem de estouro de lock e terão que refazer o processo.

Para evitar uma nova execução do processo sem sucesso, pode-se aumentar o valor do parâmetro com o comando proutil increaseto, sem tirar o banco do ar.

adriano

em 30 de outubro de 2008, 09:23h

Adriano, obrigada por me esclarecer mais estas dúvidas.

Então realmente é bom deixar o parametro -L definido com 1000000 registros ?
Antes eu tinha pensado que isto não seria tão bom, pois imagina ter 1000000 de registros ao mesmo tempo travados , ou seja, sendo utilizados pelo sistema.

TAC®

Thalita Ap. Cunha

em 31 de outubro de 2008, 10:53h

É sempre recomendável que a definição do parâmetro seja acompanhada da necessidade do mesmo. Em ambientes 32 bits, cada 60.000 de -L consome cerca de 2 MBytes de memória no servidor. Talvez você não precise de toda essa alocação.

Nesses casos, aconselho um contato com a consultoria telefônica de tecnologia ( 47-21017444 ou 11-21011102) para fazer uma conexão remota no seu servidor e identificar a melhor definição de cada parâmetro.

Adicionalmente existem uma série de posts disponíveis nesse blog sobre parâmetros de desempenho e como determiná-los. Para quem está iniciando um processo de tuning, é recomendável ter conhecimento sobre as situações descritas nesses artigos.

adriano

em 3 de maio de 2010, 18:11h

Adriano, boa noite!
Vc presta serviços de consultoria? Se não, vc poderia indicar alguém?
Eu gostaria de consultoria em progress rodando em HP-UX 11.23 e servidor de aplicativos Datasul.

Obrigado

Ricardo Parice de Carvalho

em 4 de maio de 2010, 08:06h

Olá Ricardo,

Não apenas eu, mas como todas as pessoas que postam artigos nesse blog podem ser contatados na consultoria telefônica da Totvs.

Os telefones para contato são 11 2101-1102 e 47 2101-7444, opção Tecnologia - Banco de Dados.

Adriano.

adriano

em 20 de maio de 2010, 10:54h

Adriano, bom dia.

Poderia nos explicar um pouco mais a respeito do parametro -Mxs, o que se deve levar em conta para aumentar esse valor, qual a utilizade do mesmo, suas particularidades?

Desde já agradeço.

Uiliam

Comentar




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


Acesso LogMeIn

Informe o código PIN: