Otimização das etapas do BuildPDFFromDocuments

A etapa BuildPDFFromDocuments é uma etapa que consome muitos recursos e monta um trabalho em PDF a partir de documentos que foram identificados pelo site RICOH ProcessDirector. Se houver um grande número de documentos ou se você usar regras complexas em seu arquivo, a duração do processamento dessa etapa será medida em horas, não em minutos. Opções avançadas de configuração estão disponíveis para reduzir o tempo de processamento nessa etapa para trabalhos muito grandes ou muito complexos.
    Importante:
  • Essa configuração é altamente avançada. Não é recomendado para todas as implementações do site RICOH ProcessDirector.

Seu sistema é um bom candidato para essa configuração se todos os itens acima forem verdadeiros:

  • O processamento mais rápido de um único trabalho em PDF é mais importante do que a taxa de transferência total.
  • Seus trabalhos em PDF contêm muitos documentos ou usam regras complexas que fazem com que o processamento demore muito tempo.
  • Você tem (ou pode adquirir) recursos de hardware adequados para o sistema que a etapa usa. O sistema deve ter muitos núcleos de CPU, pois cada thread usado para processamento requer três ou quatro threads em segundo plano para gerenciar o uso da memória e outras atividades. O sistema também deve ter pelo menos 16 GB de RAM disponíveis para esse processamento em seu computador principal ou em servidores adicionais para configurar como servidores secundários.
  • Os membros da sua equipe têm as habilidades e as ferramentas necessárias para monitorar o desempenho do sistema. Para ajustar o sistema corretamente, você deve ser capaz de monitorar:
    • Memória usada pelos processos Java
    • Coleta de lixo em Java
    • Uso da memória do sistema
    • Utilização da CPU
    • Troca de recursos
    • E/S do sistema

Nessa configuração, você configura o sistema para executar a etapa BuildPDFFromDocuments usando vários threads. A configuração exige que a etapa seja executada em uma máquina virtual Java (JVM) separada. Para executar a etapa em seu próprio JVM, crie um servidor secundário e ajuste a etapa BuildPDFFromDocuments para ser executada nesse servidor. Nenhuma outra etapa deve ser configurada para ser executada nesse servidor.

Para otimizar as etapas do BuildPDFFromDocuments:

  1. Determine se o computador principal tem memória suficiente para suportar um computador secundário local.

    Analise o tópico Ajustar a alocação de memória Java. Recomendamos que você aloque pelo menos 16 GB de RAM para o servidor secundário local. Se seus cálculos a partir desse tópico indicarem que você tem 16 GB de RAM disponível ou que pode instalar memória adicional no sistema, você pode usar um servidor secundário local. Continue com a etapa .

    RICOH ProcessDirector somente para Linux: se precisar usar um secundário remoto, certifique-se de que você tem 16 GB de RAM disponíveis no sistema que planeja usar e, em seguida, continue com a próxima etapa.

  2. RICOH ProcessDirector somente para Linux: Para configurar um servidor secundário remoto, conclua os procedimentos na seção Instalação de servidores secundários remotos no Centro de informações de software RICOH.
      Obs.:
    • Você deve exportar o sistema de arquivos /aiw para poder acessá-lo a partir do servidor secundário remoto. Esses procedimentos fornecem instruções para configurar o NFS e usá-lo para fazer a exportação. Se você preferir usar um método diferente, siga seus procedimentos internos para configurar a exportação.

    Quando você definir o servidor secundário em RICOH ProcessDirector, defina a propriedade Conjunto de servidores em geral como Não e deixe a Contagem máxima de etapas ricas em recursos definida como 1.

  3. Crie um servidor secundário local usando o procedimento apropriado no RICOH Software Information Center: Definição de servidores secundários no computador principal (Linux) ou Definição de servidores secundários no computador principal (Windows).
    Defina a propriedade Conjunto de servidores em geral como Não e deixe a Contagem máxima de etapas ricas em recursos definida como 1.
      Obs.:
    • Pare depois de criar o servidor secundário. Não ajuste ainda o modelo da etapa BuildPDFFromDocuments.
  4. Atualize as configurações da JVM para esse servidor secundário.
    1. No Linux: Abra $AIWDATA/config/jvmsettings.cfg em um editor de texto.
      Por padrão, $AIWDATA é /aiw/aiw1.
    2. No Windows: Abra %AIWDATA%\config\jvmsettings.cfg em um editor de texto.
      Por padrão, %AIWDATA% é \aiw\aiw1.
    3. Copie a linha do servidor primário que se parece com isso:
      primary=-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true

      Cole-o em uma nova linha do arquivo.

      O valor após primary=-Xmx é a quantidade máxima de memória heap que o ambiente de tempo de execução do Java RICOH ProcessDirector pode usar para o processo principal do RICOH ProcessDirector. Neste exemplo, o servidor primário pode usar 2048 MB (2 GB) de RAM para seu heap.

    4. Atualize a linha que você copiou para alterar primary para o valor da propriedade Nome do servidor do servidor secundário.
    5. Atualize o valor após nome_servidor_secundário=-Xmx para a quantidade de memória que você tem disponível para esse processo. O valor deve ser de pelo menos 16g.
    6. Salve e feche o arquivo.
  5. Reinicie o site RICOH ProcessDirector ou o serviço RICOH ProcessDirector para aplicar a nova configuração.
  6. Habilite o servidor secundário na interface RICOH ProcessDirector.
  7. Ajuste o modelo da etapa BuildPDFFromDocuments.
    Recomendamos fazer uma cópia do modelo de etapa para usar na configuração multithread.
    1. Abra o Fluxo de Trabalho Modelos de Etapas.
    2. Localize o modelo da etapa BuildPDFFromDocuments, clique com o botão direito do mouse e selecione Copiar.
    3. Na guia Geral, insira um valor para a propriedade Nome.

      Escolha um nome que mostre claramente que essa é a versão multithread da etapa.

    4. Na guia Ajuste:
      • Defina o Ajuste avançado como Multithread nesta etapa.
      • Defina Servidores a serem usados como Executar em servidores específicos e selecione apenas o servidor secundário que você criou.
    5. Na guia PDF, observe todas as propriedades Criar arquivo de controle PDF.
      • Se a sua etapa usar um ou mais arquivos de controle, verifique se a Construir biblioteca está definida como Usar arquivo padrão ou de controle.
      • Se a etapa não usar nenhum arquivo de controle, defina a Construir biblioteca como PDF Java Toolkit.
        Obs.:
      • Os valores na guia PDF podem ser diferentes para cada fluxo de trabalho. Atualize esses valores conforme necessário depois de adicionar esse modelo de etapa a um fluxo de trabalho.
    6. Atualize quaisquer outras configurações conforme necessário para sua instalação.
    7. Clique em OK.
  8. Ativar o modelo de etapa.
  9. Defina o número máximo de threads que o modelo de etapa pode usar.
    • Comece com um número de threads que seja aproximadamente 25% dos núcleos da máquina. Cada thread usada por esta etapa requer outras threads para suportá-la, portanto, você não pode usar todas as threads para a etapa. Por exemplo, se você tiver um servidor de 16 núcleos, aloque 4 threads para essa etapa.
    • Você pode ter que fazer alguns testes para determinar o número ideal de threads para a sua instalação.
    1. Abra em um editor de texto.
    2. Adicione esta linha ao final do arquivo, substituindo o número de threads que você deseja usar por número_de_threads:
      useBuildPdfMT_MaxThreads=number_of_threads
        Obs.:
      • Recomendamos começar com 4 fios.
    3. Salve e feche o arquivo.
  10. Reinicie o site RICOH ProcessDirector ou o serviço RICOH ProcessDirector para aplicar a nova configuração.
  11. Teste um fluxo de trabalho com a nova etapa.
    Recomendamos copiar o fluxo de trabalho cujo desempenho você está tentando melhorar e, em seguida, substituir a etapa BuildPDFFromDocuments atual pela versão multithread. Executar um trabalho representativo no fluxo de trabalho.

    Durante o teste, monitore o seguinte:

    • Uso da memória do processo Java

      Se o processo tiver atingido o máximo configurado para a memória java e o desempenho ainda for inaceitável, considere aumentar a alocação de memória. Mantenha-se dentro das diretrizes descritas em Ajustar a alocação de memória Java. Reinicie o servidor secundário sempre que você atualizar o arquivo jvmsettings.cfg.

    • Uso da memória do sistema
    • Uso da CPU
    • Troca de recursos
    • Coleta de lixo em Java

      Se você vir muitos threads de coleta de lixo, ative o registro para a coleta de lixo. Atualize o jvmsettings.cfg para adicionar esta linha:

      -Xlog:gc*:file=/aiw/aiw1/trace/gc_secondary.log:time,uptime,level,tags:filecount=10,filesize=8m

      Você deve reiniciar o site RICOH ProcessDirector ou o serviço RICOH ProcessDirector sempre que atualizar o jvmsettings.cfg.

      Analise os logs para determinar a frequência e a duração da coleta total de lixo. Se o processo levar mais de cinco a dez segundos para ser concluído, isso poderá afetar o desempenho.
    • Uso de E/S

  12. Após cada teste, ajuste as configurações para otimizar o processamento. Quando terminar de ajustar a etapa, atualize seus fluxos de trabalho de produção para usá-la em vez da etapa BuildPDFFromDocuments atual.