Comprendre le partitionnement du référentiel

Un référentiel est l\'un des composants de base qui vous permet de gérer votre espace de travail d\'automatisation (automatisation et fichiers). Le partitionnement vous aide à faire évoluer vos référentiels et à optimiser les performances des opérations liées aux référentiels, telles que l\'archivage et l\'extraction.

Remarque : Pour utiliser la fonctionnalité de partitionnement de référentiel, vous devez disposer de la licence Plateforme Enterprise. Pour plus d\'informations sur la version prise en charge par cette fonctionnalité, consultez Plateforme Enterprise.

Présentation

Le référentiel Automation 360 est un référentiel Git unique où sont stockés tous les robots, formulaires, processus et dépendances. Dans la mesure où le référentiel est basé sur Git, il offre des fonctionnalités de contrôle de version prêtes à l\'emploi telles que l\'archivage, l\'extraction, l\'historique des versions, la restauration et la comparaison des versions. L\'intégration dans un référentiel Git distant externe n\'est donc pas une exigence dans Automation 360.

Tous les fichiers du référentiel Git dans Automation 360 sont stockés à des fins de gestion des versions. Au fil du temps, le référentiel Git peut devenir volumineux en raison du nombre de fichiers, de leur taille, des validations Git, etc. Cela peut entraîner une latence dans l\'exécution des actions du référentiel.

Grâce au partitionnement de référentiel, vous pouvez diviser le dossier du référentiel Automation 360 en référentiels Git distincts. Vous pouvez partitionner le référentiel public de grande taille d\'un dossier du niveau racine en plusieurs référentiels Git des niveaux de dossier sélectionnés, limitant ainsi les problèmes de performance dans les partitions du référentiel.

Remarque : L\'administrateur ou les utilisateurs de la Control Room disposant de l\'autorisation Partitionner un référentiel peuvent utiliser la fonctionnalité de partitionnement de référentiel.

Avantages

Voici quelques-uns des avantages du partitionnement de référentiel :

Des opérations plus rapides grâce à un archivage et une extraction rapides
Comme les dossiers sont partitionnés, chaque dossier partitionné compte un nombre comparativement plus petit d\'activités d\'archivage (validations). Conséquence de la diminution de ces validations, les opérations d\'archivage et d\'extraction (y compris les archivages et les extractions simultanés) sont plus rapides.
Séparation logique des dossiers dans l\'espace Git
La création de plusieurs référentiels dans Git atténue le risque d\'un seul point de défaillance. Les problèmes rencontrés dans un référentiel n\'ont pas d\'impact négatif sur les autres référentiels ni sur les automatisations qu\'ils contiennent.

Recommandations

Dans un scénario de production typique, des dossiers correspondant à divers départements sont créés dans le dossier Bots. En fonction des processus métier ou des projets spécifiques (plusieurs processus métier), des sous-dossiers sont créés dans les dossiers du département. Il est également courant que les clients disposent de bibliothèques partagées qui peuvent être créées à différents niveaux, et qui sont ensuite partagées entre d\'autres processus.

Considérez un scénario où tous les Fichiers sont enregistrés dans la même partition (dépôt git) par divers développeurs automatisés ou citoyens en même temps. Cela peut avoir un impact sur la vitesse de traitement des données et entraîner un retard considérable. Afin de garantir que les performances ne soient pas affectées à long terme, examinez l\'approche recommandée ci-dessous :

Approche opérationnelle
Il est recommandé de créer une partition par équipe. Une équipe se compose d\'un groupe de personnes travaillant sur un ensemble similaire de processus métier. Limitez le nombre de développeurs dans chaque ensemble à 50 ou moins pour des performances optimales pour chaque équipe. S\'il y a plus de développeurs, vous pouvez les répartir sur des partitions pour plus d\'évolutivité.
Pour toute partition que vous effectuez, un utilisateur qui essaie d\'enregistrer ou d\'importer des automatisations ou des Fichiers dans ce dossier reçoit une alerte indiquant que la partition est en cours.

Lorsque le partitionnement est en cours, les utilisateurs ne sont pas autorisés à effectuer des opérations d\'archivage, d\'importation, d\'archivage en masse et de suppression sur le dossier partitionné ou les sous-dossiers. Même si un utilisateur tentait d\'enregistrer une automatisation pendant ce temps, une alerte lui suggérant d\'attendre s\'affichait. L\'utilisateur peut alors continuer à travailler sur l\'espace de travail privé sans problème et le travail n\'est jamais bloqué. De plus, la restauration Git, les paramètres Git et les mises à jour de packages en masse sont universellement restreints.

Des tests sur des référentiels d\'une taille de 20 Go ont montré que l\'opération pouvait prendre jusqu\'à 1,5 heure. Cependant, ce temps peut varier en fonction des performances du stockage en réseau (NAS). Le coût opérationnel est très faible et vous pouvez le faire au fil du temps.

Par exemple, vous pouvez effectuer 4 à 6 partitions à la fin de la journée de travail lorsqu\'il y a moins d\'utilisateurs ou Développeurs citoyens. Cela vous permet d\'exécuter le processus de partitionnement sans impacter les autres utilisateurs professionnels.

Déterminer les dossiers à partitionner
Consultez les recommandations suivantes sur le partitionnement des dossiers :
  • Exécutez l\'outil RepositoryFolderSizeReport.exe à partir du répertoire des scripts sur l\'un des Control Room nœuds à l\'aide de la commande suivante :
    RepositoryFolderSizeReport.exe --root "Z:\Server Files\repository\16933f12-fdee-4a7f-8e76-a9bf127918c6\0\Automation Anywhere\Bots"
  • Assurez-vous de remplacer le script ci-dessus par l\'ID de locataire correct de votre environnement.

    Par exemple, 16933f12-fdee-4a7f-8e76-a9bf127918c6.

  • Utilisez Z:\Server Fichiers\repository pour examiner le lecteur NAS.
  • Générer un rapport folder_sizes.csv contenant les chemins des dossiers et leurs tailles respectives en Mo.
    Cela vous permet de planifier le partitionnement de vos dossiers.
    Remarque : Git recommande de limiter la taille du dépôt à moins de 2 Go pour des performances optimales.
  • Cet utilitaire fournira la taille de chaque dossier, ce qui vous aidera à planifier la partition du dossier.
Paramètres de délai d\'attente
Le partitionnement du référentiel lance un programme externe pour partitionner le dossier. Si ce programme externe ne fournit pas de sortie dans les 12 heures (par défaut), il est terminé et l\'utilisateur peut redémarrer le processus de partitionnement. Si le délai d\'expiration de 12 heures est trop long, vous pouvez le changer à 2 heures en modifiant le fichier de propriétés situé dans <CR_Folder>\\config\\repository.properties.

Assurez-vous de mettre à jour la propriété repository.partition.read.line.timeout en définissant la valeur en secondes. Par exemple, pour un délai d\'expiration de 2 heures, définissez la valeur sur 7 200.

Redémarrez le noyau après toutes les modifications.

Surveillance du partitionnement du référentiel
  • Surveillez l\'avancement du partitionnement dans les fichiers journaux en utilisant le script PartitionMonitor.
  • Exécutez le script PartitionMonitor.ps1 sur chaque nœud CR.

    La demande de partitionnement est traitée sur l\'un des nœuds par conception. Par conséquent, les résultats de progression ne sont visibles que sur ce nœud spécifique.

  • Ouvrez Windows PowerShell et accédez au répertoire de scripts (C:\scripts). Exécutez la commande suivante :
    .\PartitionMonitor.ps1 -sourceDirectory "C:\ProgramData\AutomationAnywhere\Logs" -outputFile out.log