| 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 () 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". |