リポジトリのパーティショニングの理解
- 最終更新日2024/10/31
リポジトリのパーティショニングの理解
リポジトリは、Automation Workspace を管理できるようにするコア コンポーネントの 1 つです (オートメーションとファイル)。 パーティショニングにより、リポジトリを調整し、チェックインやチェックアウトなどのリポジトリ関連操作のパフォーマンスを最適化できます。
概要
Automation 360 リポジトリは単一の Git リポジトリで、すべての Bots、フォーム、プロセス、依存関係のファイルが格納されています。 リポジトリは Git をベースにしているため、チェックイン、チェックアウト、バージョン履歴、ロールバック、バージョン比較など、すぐに使えるバージョン管理機能が利用できます。 したがって、Automation 360 では、外部リモート Git との統合は、要件ではありません。
Automation 360 の Git リポジトリにあるすべてのファイルは、バージョン管理のために保存されます。 Git リポジトリは、ファイル数、ファイル サイズ、Git コミット数などによって、長期間に渡って大きくなる可能性があります。 これにより、リポジトリ アクションの実行に遅延が発生する場合があります。
リポジトリ パーティショニングを使えば、Automation 360 リポジトリ フォルダーを別々の Git リポジトリに分割することができます。 ルート レベルのフォルダーにある大サイズの公開リポジトリは、選択したフォルダー レベルで複数の Git リポジトリに分割し、リポジトリ パーティションでのパフォーマンスの問題を抑えることができます。
メリット
リポジトリをパーティショニングするメリットには、次のものがあります。
- 迅速なチェックインとチェックアウトによる高速操作の実現
- フォルダーはパーティショニングされるため、パーティショニングされた各フォルダーでは、チェックイン アクティビティ (コミット) が比較的少なくなります。 このようにコミット数が減る結果、チェックインとチェックアウトの操作 (同時チェックインとチェックアウトを含む) はより速くなります。
- フォルダーは Git スペースで論理的に分離されます。
- Git で複数のリポジトリを作成すると、単一障害点のリスクを軽減できます。 あるリポジトリで発生した問題が、他のリポジトリやその中に含まれるオートメーションに悪影響を及ぼすことはありません。
推奨事項
通常の生産シナリオでは、さまざまな部門に対応するフォルダーがBotsフォルダー内に作成されます。 特定のビジネス プロセスやプロジェクトに基づいて(複数のビジネス プロセス)、部門フォルダー内にサブフォルダーが作成されます。 顧客が異なるレベルで作成できる共有ライブラリを持つことも一般的であり、それらは他のプロセス間でさらに共有されます。
さまざまな自動化や市民開発者によって、すべてのファイルが同時に同じパーティション(gitリポジトリ)にチェックインされるシナリオを考えてみてください。 これはデータ処理速度に影響を与え、かなりの遅延を引き起こす可能性があります。 長期的にパフォーマンスに影響が出ないようにするために、以下の推奨アプローチを確認してください。
- 運用アプローチ
- 各チームごとに 1 つのパーティションを作成することをお勧めします。 チームは、同様のビジネス プロセスのセットに取り組む人々のグループで構成されています。 各セットの開発者数を 50 人以下に制限して、すべてのチームに最適なパフォーマンスを実現します。 もし開発者が増えた場合、スケーラビリティのためにパーティションに分割することができます。
- パーティション分けするフォルダーを決定する
- フォルダーのパーティショニングに関する以下の推奨事項を確認してください。
- ノードのいずれかでスクリプト ディレクトリから RepositoryFolderSizeReport.exe ツールをControl Room次のコマンドを使用して実行します:
RepositoryFolderSizeReport.exe --root "Z:\Server Files\repository\16933f12-fdee-4a7f-8e76-a9bf127918c6\0\Automation Anywhere\Bots"
- 上記のスクリプトを、あなたの環境からの正しいテナント ID に置き換えることを確認してください。
例えば、16933f12-fdee-4a7f-8e76-a9bf127918c6。
- Z:\Server ファイル\rリポジトリ を使用して NAS ドライブを確認してください。
-
folder_sizes.csv レポートを生成し、フォルダーのパスとそれぞれのサイズ(MB 単位)を含めます。これにより、フォルダーのパーティショニングを計画できます。注: Git は、最適なパフォーマンスのためにリポジトリのサイズを2GB未満に制限することを推奨します。
- このユーティリティは、フォルダーのパーティションを計画するのに役立つ各フォルダーのサイズを提供します。
- ノードのいずれかでスクリプト ディレクトリから RepositoryFolderSizeReport.exe ツールをControl Room次のコマンドを使用して実行します:
- タイムアウト設定
- リポジトリのパーティショニングは、フォルダーをパーティション分割するために外部プログラムを起動します。 この外部プログラムが12時間(デフォルト)以内に出力を提供しない場合、プログラムは終了し、ユーザーはパーティショニング プロセスを再起動できます。 12 時間のタイムアウトが長すぎる場合は、<CR_Folder>\\config\\repository.propertiesにあるプロパティ ファイルを変更することで 2 時間に変更できます。
repository.partition.read.line.timeout プロパティを秒単位で値を設定して更新することを確認してください。 例えば、2時間のタイムアウトの場合、値を7200に設定します。
すべての変更後にカーネルを再起動します。
- リポジトリのパーティショニングの監視
-
- ログファイルでPartitionMonitorスクリプトを使用してパーティショニングの進行状況を監視します。
- 各 CR ノードで PartitionMonitor.ps1 スクリプトを実行します。
パーティショニング リクエストは、設計上、ノードの1つで処理されます。 したがって、進捗結果はその特定のノードでのみ表示されます。
- Windows PowerShellを開き、スクリプトディレクトリ (C:\scripts) に移動します。 次のコマンドを実行します:
.\PartitionMonitor.ps1 -sourceDirectory "C:\ProgramData\AutomationAnywhere\Logs" -outputFile out.log