リポジトリのパーティショニングの理解
- 最終更新日2024/11/18
リポジトリは、Automation Workspace (オートメーションとファイル) を管理するための主要なコンポーネントの一つです。 パーティション分割により、リポジトリのスケーリングを助長し、チェックインやチェックアウトなどのリポジトリ関連操作のパフォーマンスを最適化できます。
概要
Automation 360 リポジトリは、すべての Bots、フォーム、プロセス、および依存関係ファイルが保存されている単一の Git リポジトリです。 リポジトリは Git をベースにしているため、チェックイン、チェックアウト、バージョン履歴、ロールバック、バージョン比較など、すぐに使えるバージョン管理機能が利用可能です。 したがって、外部のリモート Git との統合はAutomation 360において必須ではありません。
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 Files の\rレポジトリ を使用して以下を確認してください。 NASドライブ。
- 以下を含む folder_sizes.csv レポートを生成します
フォルダーのパスとそれぞれのサイズ( MB )。これにより、次のことが可能になります。 フォルダーのパーティション分割の計画。注: Git 最適なパフォーマンスのためにリポジトリのサイズを以下より小さく制限することをお勧めします 2GB
- このユーティリティは、各フォルダーのサイズを提供し、以下を計画するのに役立ちます。 フォルダー パーティション
-
RepositoryFolderSizeReport.exe ツールを実行します。
Control Room ノードのいずれかのスクリプト ディレクトリから、次のコマンドを使用して
コマンド:
- タイムアウト設定
- リポジトリのパーティション分割は、外部プログラムを起動して
フォルダを分割します。 この外部プログラムが12時間以内に出力を提供しない場合
(デフォルト)、それは終了し、ユーザーはパーティション分割
のプロセスを再起動できます。 12時間のタイムアウトが長すぎる場合は、次のように2時間に変更できます
以下でプロパティ ファイルを変更する
<CR_Folder>\\config\\repository.properties。
確実な実施 更新する 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