Ajuste da Fila de Expressões

O mecanismo de expressão pode precisar de ajuste com base nos recursos do servidor, na contagem de expressões e na complexidade de cada instalação. Geralmente, o processo envolve o ajuste e a medida do desempenho de um parâmetro de cada vez, repetidamente até que o desempenho não possa mais ser aumentado. Um controle de registros deve ser mantido. Um novo ajuste é necessário para a mudança de hardware, de uso e de configuração.
Como um administrador, o seguinte aplicativo deve ser verificado para cada instalação:
Tabela 1. Configuração do Aplicativo de Ajuste da Fila de Expressões
Configuração Unidade Padrão Tempo de Execução* Descrição Dica de ajuste
formula.queue.maxage h 24 Sim O número máximo de horas em que o histórico de fila de expressões é retido. Apenas as expressões executadas são removidas. Isto é executado usando fórmula. O propósito de reter as entradas executadas é destinado às estatísticas de expressões (Avançado > Fila de Expressões) e à verificação dos loops de avaliação. Na avaliação dos loops, este número pode ser diminuído em configurações de alto rendimento para manter o tamanho da tabela pequeno.
formula.queue.maxsize entradas 500000 Sim O número máximo de entradas na fila de expressões. A tarefa de limpeza é manter a contagem de entradas abaixo deste número limpando o histórico. Apenas as expressões executadas são removidas. Isto substitui a configuração de maxage. Para obter melhor desempenho, este número pode ser ajustado para manter o tamanho do histórico da fila baixo durante os períodos de alto carregamento e, caso contrário, para salvar o histórico. Uma boa aproximação deste número é mantê-lo um pouco abaixo da média de rendimento durante o período maxage.
formula.execution.batch.size entradas 30 Sim O número de entradas da fila de expressões alocadas para um encadeamento em cada execução de alocação. As entradas são marcadas como "iniciadas" e o encadeamento é executado e concluído antes de alocar um novo lote. As expressões são executadas simultaneamente em diversos encadeamentos e em vários nós, mas sempre em uma ordem cronológica que reconhece a dependência. Se duas expressões na fila não estiverem relacionadas, elas poderão ser executadas em outra ordem diferente da que foram incluídas. As entradas da expressão podem depender do valor de outra entrada. É possível que a entrada da expressão não seja executada se a instância dessa entrada (o valor do qual a entrada da expressão depende) não for executado antes da expressão. Isto e a simultaneidade requerem alocação para evitar colisões, ordem inconsistente e trabalho redundante. A alocação é um bit caro, portanto, várias expressões são alocadas ao mesmo tempo com o requisito anterior e a condição em que elas são executadas na ordem fornecida. Se várias expressões forem alocadas, a sobrecarga da alocação será salva, mas isso "bloqueará" a simultaneidade e vice-versa. A regra geral é manter este número baixo se as expressões formarem longas cadeias de dependências e aumentá-lo se elas forem curtas ou se as dependências forem poucas. É possível alterar este valor no tempo de execução e, portanto, você deve ajustá-lo até que um valor ótimo razoável seja localizado. Valores menores que 10 ou maiores que 200 raramente são ideais.
formula.cleanup.interval msecs 1800000 Não A frequência de limpeza da fila de expressões. Aqui, as configurações de maxage e maxsize são impingidas. Apenas a limpeza da fila é executada. A primeira limpeza ocorre quando o servidor for iniciado, no momento em que a manutenção especial for executada. Além disso, a cada duas semanas uma verificação de integridade da expressão de cronômetro é executada (à noite). Na maioria das vezes, o padrão é razoável. Se o rendimento for alto, a limpeza demorará mais, mas deverá ser executada com mais frequência e vice-versa. Portanto, tome cuidado ao aumentar demais o tempo, pois isso pode causar indisponibilidades de execução ou mau desempenho, se a carga aumentar significativamente de repente (por exemplo, após um atributo de importação ou incluído).
formula.background.interval msecs 10000 Não A frequência de verificação da fila de expressões para novas expressões não alocadas a serem executadas. Quando um lote for concluído, uma nova verificação ocorrerá imediatamente sem aguardar pelo intervalo. Se a fila não estiver "pronta" ao ocorrer o próximo intervalo, um novo encadeamento do trabalhador será gerado para dobrar o esforço. Em versões anteriores do Rational Focal Point, a execução era assíncrona e imediata. Quando as expressões eram movidas para o banco de dados, isto não era possível sem o risco de conflitos. Este é o intervalo no qual a fila de expressões é verificada para que novas expressões sejam executadas, isto é, o tempo máximo (mais o tempo de execução) que o usuário deve aguardar para que uma expressão seja executada. Se o intervalo for muito curto, ele apenas consumirá recursos desnecessariamente. Isto também afeta o aprimoramento da simultaneidade: se o encadeamento do trabalhador que foi iniciado no intervalo anterior não for concluído dentro do intervalo, outro encadeamento (até thread.per.nodes) também será iniciado. Se o aprimoramento for lento, você poderá diminuir este número. Se as expressões forem usadas raramente, será possível aumentá-las lentamente.
formula.max.background.threads.per.node count 2 Não O número máximo de encadeamentos simultâneos que executam expressões para cada nó. O número máximo real depende dinamicamente se houver encadeamentos livres no conjunto de encadeamentos de aplicativos. O aprimoramento da simultaneidade descrito no background.interval aumentará o número de encadeamentos de avaliação de expressão no nó em cada intervalo, se houver mais trabalho a ser executado. Observe que este é o máximo. Isto requer encadeamentos livres no conjunto de encadeamentos de aplicativos, que é ajustado automaticamente com relação ao número de núcleos (virtual ou de outra maneira). Ele também é limitado para não consumir o último encadeamento no conjunto. É possível experimentar esse número, pois ele não interromperá nenhuma operação. O melhor desempenho não é garantido, pois depende grandemente da habilidade da simultaneidade do banco de dados para ser mantido. Um sinal de que isso é muito baixo, é que a fila na maioria das vezes possui expressões que não são avaliadas.
formula.cleanup.enabled boolean true Sim Por padrão, a limpeza da fila de expressões é ativada. Ela nunca deve ser desativada, exceto para propósitos de depuração ou ao executar medidas de desempenho nas quais a limpeza deve ser dirigida. Não há nenhum ajuste a ser feito com esta configuração, não a altere nunca, mantenha-a no padrão "true".

Feedback