Como compreender o particionamento do repositório
- Última atualização2024/11/20
Como compreender o particionamento do repositório
Um repositório é um dos principais componentes que permitem gerenciar seu Automation Workspace (automações e arquivos). O particionamento ajuda você a dimensionar seus repositórios e otimizar o desempenho das operações relacionadas ao repositório, como checkin e checkout.
Visão geral
O repositório do Automation 360 é um único repositório Git em que todos os bots, formulários, processos e arquivos de dependência são armazenados. Como o repositório é baseado em Git, alguns recursos de controle de versões prontas para uso estão disponíveis, como checkin, checkout, histórico de versão, reversão e comparação de versões. Portanto, a integração com um Git remoto externo não é um requisito no Automation 360.
Todos os arquivos no repositório Git no Automation 360 são armazenados para controle de versões. Durante um período, o repositório Git pode ficar muito grande devido ao número de arquivos, tamanho dos arquivos, commits do Git e assim por diante. Isso pode gerar latência na execução das ações do repositório.
Com o particionamento do repositório, você pode dividir a pasta do repositório do Automation 360 em repositórios Git separados. Você pode particionar o repositório público de grande porte na pasta de nível raiz em múltiplos repositórios Git em determinados níveis de pasta, limitando assim quaisquer problemas de desempenho nas partições do repositório.
Benefícios
Alguns dos benefícios de particionar seus repositórios são:
- Operações mais rápidas devido ao checkin e checkout rápidos
- Conforme as pastas são particionadas, cada pasta particionada possui um número comparativamente menor de atividades de checkin (commits). Como resultado de commits menores, as operações de checkin e checkout (incluindo checkin e checkout simultâneos) são mais rápidas.
- Separação lógica de pastas no espaço Git
- A criação de múltiplos repositórios no Git reduz o risco de um único ponto de falha. Os problemas em um repositório não impactam negativamente outros repositórios ou automações contidas neles.
Recomendações
Em um cenário típico de produção, pastas correspondentes a vários departamentos são criadas na pasta Bots. Com base nos processos ou projetos de negócios específicos (vários processos de negócios), subpastas são criadas nas pastas do departamento. Também é comum que os clientes tenham bibliotecas compartilhadas que podem ser criadas em diferentes níveis, que são ainda mais compartilhadas em outros processos.
Considere um cenário em que todos os arquivos passam por checkin na mesma partição (repositório git) por várias automações ou desenvolvedores cidadãos ao mesmo tempo. Isso pode afetar a velocidade de processamento de dados e causar um atraso considerável. Para garantir que o desempenho não seja afetado no longo prazo, revise a abordagem recomendada abaixo:
- Abordagem operacional
- É recomendável que você crie uma partição por equipe. Uma equipe é composta por um grupo de pessoas que trabalha em um conjunto semelhante de processos de negócios. Limite para, no máximo, 50 o número de desenvolvedores em cada conjunto para obter o desempenho ideal de cada equipe. Se houver mais desenvolvedores, você pode dividi-los em partições para escalabilidade.
- Determine as pastas a serem particionadas
- Revise as seguintes recomendações para o particionamento de pastas:
- Execute a ferramenta RepositoryFolderSizeReport.exe
do diretório de scripts em um dos nós Control Room usando o seguinte
comando:
RepositoryFolderSizeReport.exe --root "Z:\Server Files\repository\16933f12-fdee-4a7f-8e76-a9bf127918c6\0\Automation Anywhere\Bots"
- Certifique-se de substituir o script acima pelo ID de locatário correto
do seu ambiente.
Por exemplo, 16933f12-fdee-4a7f-8e76-a9bf127918c6.
- Use Z:\Server Files\repository para revisar a Unidade NAS.
- Gerar relatório folder_sizes.csv contendo
caminhos das pastas e seus respectivos tamanhos em MB.Isso permite que você planeje o particionamento de suas pastas.Nota: Git recomenda que você restrinja o tamanho do repositório para menos de 2GB para o desempenho ideal.
- Este utilitário fornecerá o tamanho de cada pasta, o que ajudará você a planejar a partição da pasta.
- Execute a ferramenta RepositoryFolderSizeReport.exe
do diretório de scripts em um dos nós Control Room usando o seguinte
comando:
- Configurações de tempo-limite
- O particionamento do repositório inicia um programa externo para particionar uma
pasta. Se este programa externo não fornecer um resultado dentro de 12 horas
(padrão), ele é encerrado e o usuário pode reiniciar o processo
de particionamento. Se o tempo limite de 12 horas for muito longo, você pode alterá-lo para 2 horas
modificando o arquivo de propriedades localizado em
<CR_Folder>\\config\\repository.properties.
Garanta a atualização da propriedade repository.partition.read.line.timeout definindo o valor em segundos. Por exemplo, para um tempo-limite de 2 horas, defina o valor para 7.200.
Reinicie o kernel após todas as alterações.
- Monitoramento do particionamento do repositório
-
- Monitore o progresso da partição nos arquivos de log usando o Script PartitionMonitor.
- Execute o script PartitionMonitor.ps1 em cada nó
CR.
A solicitação de particionamento é processada em um dos nós por design. Portanto, os resultados do progresso são visíveis apenas nesse nó específico.
- Abra o Windows PowerShell e navegue até o diretório de scripts
(C:\scripts). Execute o seguinte
comando:
.\PartitionMonitor.ps1 -sourceDirectory "C:\ProgramData\AutomationAnywhere\Logs" -outputFile out.log