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 Automation Workspace (automatisations 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 : La fonctionnalité de partitionnement du dépôt nécessite la licence Plateforme Enterprise. Pour plus d\'informations sur la version prise en charge par cette fonctionnalité, consultez Plateforme Enterprise.

Présentation

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

Tous les Fichiers dans le dépôt Git dans Automation 360 sont stockés pour le versionnement. 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.

Avec le partitionnement de dépôt, vous pouvez diviser le dossier de dépôt Automation 360 en dépôts Git séparés. Vous pouvez partitionner le référentiel public de grande taille d\'un dossier du niveau racine en plusieurs référentiels Git aux niveaux de dossier sélectionnés, limitant ainsi les problèmes de performance dans les partitions du référentiel.

Remarque : Un Control Room administrateur ou des utilisateurs 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 vos référentiels :

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). En conséquence de ces validations plus petites, les opérations d\'archivage et d\'extraction (y compris les archivages et 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 depuis le répertoire des scripts sur l\'un des nœuds Control Room en utilisant le suivant commande:
    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 Files\repository pour examiner le Disque NAS.
  • Générer le rapport folder_sizes.csv contenant 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 que 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 résultat dans les 12 heures (par défaut), il est terminé, et l\'utilisateur peut redémarrer le partitionnement processus. Si le délai d\'attente de 12 heures est trop long, vous pouvez le changer à 2 heures en modification du fichier de propriétés situé à <CR_Folder>config\repository.properties.

Assurer que vous mettiez à jour le 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 à 7200.

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 CR. nœud.

    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 les éléments suivants commande:
    .\PartitionMonitor.ps1 -sourceDirectory "C:\ProgramData\AutomationAnywhere\Logs" -outputFile out.log