Share via


Melhorar o desempenho do planeamento principal

Este artigo explica as várias opções que podem ajudá-lo a melhorar o desempenho do planeamento principal ou a resolução de problemas. Inclui informações sobre parâmetros e definições, bem como as configurações e as ações recomendadas. Também está incluído um resumo de todos os parâmetros importantes que deve ter em consideração quando tiver tarefas de planeamento principal de execução prolongada.

Este artigo destina-se aos administradores de sistema ou aos utilizadores de TI que tenham a capacidade de resolver problemas. Também se destina aos planeadores de produção ou de oferta porque inclui informações sobre parâmetros relacionados com os requisitos de planeamento empresarial.

Vários parâmetros influenciam o tempo de execução do planeamento principal e devem ser tidos em consideração.

Número de threads

O parâmetro Número de threads permite ajustar o processo de agendamento principal para ajudar a melhorar o desempenho no conjunto de dados específico. Este parâmetro especifica o número total de threads que serão utilizados para executar o planeamento principal. Causa a paralização da execução do planeamento principal, o que ajuda a diminuir o tempo de execução.

Pode definir o parâmetro Número de threads na caixa de diálogo Execução do planeamento principal. Para abrir esta caixa de diálogo, vá para Planeamento principal > Planeamento > Executar > Planeamento principal ou selecione Executar na área de trabalho Planeamento principal. Para determinar o melhor valor para este parâmetro, terá de confiar num processo de tentativa e erro. No entanto, pode utilizar as seguintes fórmulas para calcular um valor inicial:

  • Se o seu setor estiver a fabricar: (Número de threads) = (Número de encomendas planeadas ÷ 1.000)
  • Caso contrário: (Número de threads) = (Número de itens ÷ 1.000)

O número de ajudantes utilizados durante o planeamento principal tem de ser inferior ou igual ao número máximo de threads que são permitidos no servidor por lotes. Se o número de ajudantes exceder o número de threads no servidor por lotes, os threads adicionais não farão qualquer trabalho.

Nota

Definir o parâmetro Número de threads como 0 (zero) aumenta o tempo de execução do planeamento principal. Por isso, recomendamos que defina sempre um valor superior a 0.

Número de tarefas no grupo de tarefas do ajudante

Ao alterar a definição Número de tarefas no grupo de tarefas (ou seja, o tamanho do grupo), poderá ser capaz de diminuir o tempo de execução. Esta definição controla o número de itens que são planeados em conjunto por um único ajudante.

Pode definir o parâmetro Número de tarefas no grupo de tarefas na secção Desempenho no separador Geral da página Parâmetros do planeamento principal (Planeamento principal > Configuração > Parâmetros do planeamento principal). O melhor valor para este parâmetro depende dos seus dados. Por isso, recomendamos que comece com um valor de 1 e, em seguida, utilize um processo de tentativa e erro para determinar o melhor valor para a sua configuração.

Em geral, recomendamos que aumente o número de tarefas quando o número de itens é muito grande (centenas de milhares). Caso contrário, deve diminuir o número de tarefas. Para os seguintes setores específicos, considere estas recomendações:

  • Nos setores do comércio e distribuição, onde existem muitos itens independentes, utilize muitos ajudantes porque não existe dependência entre itens.
  • No setor do fabrico, onde existem muitas listas de materiais (L.M.) e subcomponentes partilhados, utilize menos ajudantes porque as dependências entre itens podem causar tempos de espera.

Dica

Se tiver problemas de desempenho, recomendamos que reduza a definição Número de ajudantes no grupo de tarefas como 1. Em seguida, pode iniciar o processo de tentativa e erro para encontrar o melhor valor para a sua configuração. Em geral, os problemas de desempenho ocorrem quando o processamento de um item demora mais tempo do que os restantes itens. Neste caso, verá que duas tarefas subsequentes com o estado Cobertura na execução do planeamento principal têm durações significativamente diferentes de tempo de execução. Em casos extremos, esta diferença pode ser de até 30 minutos. Pode deduzir o tempo que as tarefas demoram a ser executadas ao consultar a duração de cada tarefa.

Utilização de cache

O parâmetro Utilização de cache permite ajustar o processo de agendamento principal para o ajudar a melhorar o desempenho no conjunto de dados específico. Por exemplo, pode ajustá-lo para obter os seguintes resultados:

  • Se for feita mais colocação em cache, são recolhidos mais dados na memória de dados. A expectativa é que os dados voltem a ser utilizados mais tarde. Se os dados estiverem em memória, poderá guardar alguns pedidos da base de dados. No entanto, se for feita mais colocação em cache, os requisitos de memória aumentam.
  • Se for feita menos colocação em cache, os mesmos dados poderão ter de ser obtidos da base de dados com maior frequência. Além disso, o Application Object Server (AOS) armazena poucos dados em memória ao longo do processo.

É difícil prever qual será a melhor opção porque cada caso depende não só dos dados, mas também do hardware. Por exemplo, como uma menor colocação em cache causa uma carga adicional no servidor de base de dados, provavelmente não é boa ideia usar essa opção se o servidor de base de dados já estiver sobrecarregado.

Pode definir o parâmetro Utilização da cache na secção Desempenho no separador Geral da página Parâmetros do planeamento principal (Planeamento principal > Configuração > Parâmetros do planeamento principal). A eficácia da colocação em cache depende fortemente dos dados do cliente. Por exemplo, se os dados em cache nunca forem necessários, está a desperdiçar memória se armazenar dados até ao final do processo de agendamento. Neste caso, se configurar menos colocação em cache, o desempenho poderá aumentar porque o AOS requer menos memória e os recursos do servidor são libertados para outras tarefas.

Dica

Em geral, recomendamos que defina o parâmetro Utilização da cache como máximo, porque o parâmetro pretende ser uma funcionalidade de melhoria do desempenho. Recomendamos que defina o parâmetro como Mínimo se executar no local e tiver memória limitada (aproximadamente 2 gigabytes [GB]).

Número de encomendas no pacote de confirmação

O parâmetro Número ou ordens no grupo de confirmação especifica o número total de ordens que serão processadas de cada vez por cada thread/lote. Causa a paralização do processo de confirmação automática.

Pode definir o parâmetro Número de ordens no grupo de confirmação na secção Desempenho no separador Geral da página Parâmetros do planeamento principal (Planeamento principal > Configuração > Parâmetros do planeamento principal). A paralização do processo de confirmação automática baseia-se nas ordens que têm de ser processadas em conjunto. Por exemplo, se isto parâmetro for definido como 50, cada thread ou tarefa de lote irá recolher 50 ordens de cada vez e processá-las em conjunto. Recomendamos que utilize um processo de tentativa e erro para localizar o melhor valor. No entanto, pode utilizar a seguinte fórmula para calcular um valor inicial:

(Número de ordens por pacote) = (Número de itens com procura ÷ Número de threads)

Nota

Se definir o parâmetro Número de ordens no grupo de confirmação como 0 (zero), não ocorrerá qualquer paralelização do processo de confirmação automática. Todo o processo será executado numa única tarefa de lote e terá um tempo de execução cumulativo. Portanto, o tempo de execução do seu planeamento principal aumentará. Por este motivo, recomendamos que defina este parâmetro como um valor superior a 0 (zero).

Horizontes de tempo

Os horizontes de tempo especificam até onde no futuro, os cálculos e outros requisitos têm de ser calculados pelo planeamento principal. Quanto maior for o horizonte de tempo, mais tempo demorará a execução do planeamento principal. Por isso, defina horizontes de tempo de acordo com os seus requisitos empresariais. Para mais informações sobre os horizontes de tempo, consulte Descrição geral dos Planos principais.

Ações

Entre os horizontes de tempo, também poderá encontrar o parâmetro Mensagem de ação. O cálculo das mensagens de ação causa um tempo de execução mais longo para o planeamento principal. Se as mensagens de ação não forem analisadas e aplicadas regularmente (diariamente, semanalmente, etc.), considere desativar o cálculo durante a execução do planeamento principal. Para desativar o cálculo, na página Planos principais (Planeamento principal > Configuração > Planos > Planos principais), defina o horizonte de tempo Mensagem de ação como 0 (zero). Certifique-se também de que a definição Mensagem de ação está desativada para todos os grupos de cobertura.

Futuros

O cálculo dos futuros causa um tempo de execução mais longo para o planeamento principal. Se não estiver a planear L.M., ou se os atrasos não tiverem de ser propagados da oferta para a procura durante o planeamento, considere desativar os cálculos futuros durante o planeamento principal. Para desativar os cálculos, defina o horizonte de tempo Futuros como 0 (zero) para o plano principal que está a executar. Certifique-se também de que a definição Futuros está desativada para todos os grupos de cobertura.

Uma rotina intensa de cada vez

Quando agendar o planeamento principal, não agende qualquer outra tarefa de lote ao mesmo tempo. Tenha o especial cuidado de não agendar ao mesmo tempo outras rotinas intensas, como o fecho do inventário.

Rever o registo de sessão

O sistema pode recolher informações adicionais sobre as tarefas que executam durante o planeamento principal. Para o sistema recolher esta informação, ative a definição Tempo de processamento de faixas na caixa de diálogo Execução do planeamento principal. A informação recolhida pode ajudá-lo a localizar estrangulamentos na execução. Por exemplo, quando o parâmetro Número de tarefas no grupo de tarefas do ajudante está definido como 1, pode identificar o item que tem o tempo de execução mais longo. Também pode comparar os tempos de execução dos vários threads que têm estado Cobertura e comparar a duração de cada tarefa.

Para rever as execuções do planeamento principal do seu sistema, siga um destes passos.

  • Na área de trabalho Planeamento principal, selecione um plano principal no campo pendente, e, em seguida, no mosaico Planeamento principal, selecione Histórico. Selecione uma tarefa, selecione Consultas no Separador Rápido e, em seguida, selecione Duração da tarefa do processo.
  • Na página Planos principais, selecione um plano no painel esquerdo e, em seguida, selecione Histórico no Separador Rápido. Selecione uma tarefa, selecione Consultas no Separador Rápido e, em seguida, selecione Duração da tarefa do processo.

Ao rever o registo da sessão, considere o seguinte:

  • Atualizar não deve demorar muito tempo (em geral, deve demorar até 30 minutos), no entanto, é de thread único.
  • Copiar plano não deve demorar muito tempo (deve demorar cerca de um minuto).
  • A Confirmação automática normalmente demora cerca de 30 minutos. No entanto, pode demorar até várias horas, consoante o número de ordens e a complexidade dos itens.
  • A Confirmação automática deve demorar menos tempo do que a Cobertura.
  • A Cobertura deve demorar o tempo mais longo em relação ao resto.
  • Ação e Mensagem futura pode demorar muito tempo, consoante dos dados e o número de L.M..

Filtragem de itens

Os filtros que são aplicados na caixa de diálogo Execução do planeamento principal afetam a duração da execução do planeamento principal. Vá para Planeamento principal > Planeamento > Executar > Planeamento principal ou selecione Executar na área de trabalho Planeamento principal. Para excluir itens da execução, recomendamos que filtre pelo estado do ciclo de vida do item (não pelos números de item). Quando filtra por estado do ciclo de vida, o processo de atualização demorará menos tempo do que quando filtra por números de itens.

Filtrar automaticamente por itens com procura direta

Para melhorar o tempo de execução do planeamento principal, pode optar por incluir apenas os itens com procura direta. Este filtro só pode ser utilizado para uma execução completa do planeamento principal sem outros filtros aplicados no campo Registos a incluir. A execução de um planeamento principal com filtros ignorará a definição Filtrar automaticamente por itens com procura direta.

O campo Filtrar automaticamente por itens com procura direta está disponível na página Parâmetros de planeamento principal e pode ser utilizado tanto com as definições de pré-processamento como com as definições pós-processamento.

Pré-processamento

O parâmetro Pré-processamento: Filtrar automaticamente por itens com procura direta assegura que a fase de pré-processamento do planeamento principal inclui apenas os itens que cumpre pelo menos uma das seguintes condições:

  • O item tem um recibo ou problema esperado, como uma nota de encomenda, ordem de venda, cotação, ordem de transferência ou ordem de produção.
  • O item tem cobertura de item com stock de segurança (inventário mínimo disponível).
  • A previsão da procura depois de hoje existe para o item.
  • A previsão da oferta depois de hoje existe para o item.
  • O item inclui quaisquer linhas de continuidade do módulo do centro de atendimento telefónico ainda por criar.

Nota

Um item com um inventário disponível fisicamente não mostrará uma transação de requisito porque não existe procura para o item.

Pós-processamento

A opção Pós-processamento: Filtrar automaticamente por itens com procura direta só é relevante se definir Requisito da versão da L.M. nos seus grupos de cobertura. Caso contrário, não é necessário ativar o parâmetro.

Antes do início do passo de cobertura, há um passo de pré-cobertura durante o qual os itens com a definição de cobertura Requisito da versão da L.M. ativada serão reprocessados. Isto é feito para assegurar que os itens da versão da L.M. necessária estão planeados. Os itens que são considerados como tendo procura durante o pré-processamento já não têm qualquer procura, pelo que devem ser excluídos da execução do planeamento.

Resumo da lista de verificação de desempenho

  • Número de threads – defina como um valor superior a 0 (zero).
  • Número de tarefas no grupo de tarefas do ajudante – Defina como um valor que é superior a 0 (zero). (Utilize as fórmulas indicadas anteriormente neste artigo.)
  • Utilização da cache – Defina para Máximo a menos que o seu sistema esteja com pouca memória.
  • Número de ordens no grupo de confirmação – Defina como um valor que é superior a 0 (zero). (Utilize a fórmula indicada anteriormente neste artigo.)
  • Horizontes de tempo – Ajuste às suas necessidades empresariais.
  • Ações e futuros – Desative as ações e os futuros se não os utilizar.
  • Uma rotina intensa de cada vez - Não execute o planeamento principal juntamente com qualquer outra rotina intensa.
  • Rever o registo de sessão.
  • Filtragem de itens – Utilize o estado do ciclo de vida para excluir itens da execução do planeamento principal. (Não utilizar os números de itens.)