Comando proutil ems506 -C idxbuild all

Discussão em 'Banco de Dados / Database' iniciado por andreluisbrandao, Janeiro 12, 2011.

  1. rodrigodds

    rodrigodds Membro Participativo

    Valeu Marcos,

    Vi que dá pra apontar até a quantidade de processadores que vão ser utilizados.

    A melhora na performance é real?
  2. kirchner

    kirchner Membro Participativo Moderador

    Então, eu nunca medi isso na prática.
    Mas na teoria, podemos seguir a seguinte linha.

    O idxbuild tem basicamente 3 etapas:
    - leitura das tabelas para extrair as colunas que fazem parte dos índices;
    - ordenação dos dados para cada índice;
    - montagem da árvore balanceada e gravação;

    A primeira etapa é praticamente leitura de disco, e o multi-thread não deve ajudar em nada.
    A segunda e terceira etapas utilizam bem mais processamento e podem ter um ganho real.
    Mas se a maior parte do tempo você espera na primeira etapa não vai ajudar em nada...
  3. marcioricardo

    marcioricardo Membro Participativo

    Boas.

    Pegando gancho nesse tópico sobre idxbuild, vi em alguns sites e até em uma documentação da Progress que o comando pode ser executado com o banco online, certo?

    Estou usando o comando, que consta nesse tópico:
    Código:
    proutil ems2cad -C idxbuild all -TB 31 -TM 32 -SG 64 -B 32000 -G 0 -thread 1
    E recebo a mensagem de erro:
    ** The database ems2cad is in use in multi-user mode. (276)

    Posso executar o idxbuild on-line mesmo? Pois minha janela de manutenção é pouca, e as vezes temos processos RPWs sendo executados, não queria tirar a base do ar e ter que esperar essa janela, para fazer a manutenção.

    Grato,
    Márcio.
  4. kirchner

    kirchner Membro Participativo Moderador

    Márcio,

    O idxbuild não é online. O que você pode executar online é o idxcompat e o idxfix.
  5. marcioricardo

    marcioricardo Membro Participativo

  6. Claudemir

    Claudemir Membro Participativo

    Na versao 102B com SP04 apareceram novos parametros.

    proutil ems2cad -C idxbuild all -TB 31 -TM 64 -SG 64 -TMB 4096 -TF 90 -rusage -B 32000 -G 0 -thread 1 - threadnum <num cores> -spin 250000

    Explicando

    -TM que erá no maximo 32 foi aumentado até 64
    -TMB bloco do merge que será usado
    -TF percentual de uso do processador

    è aconselhavel tb usar o -T apontando para outro disco .

    Fiz alguns testes com um banco de 15GB e o ganho é de aproximadamente 20%

Compartilhe esta Página