Helix Coreサーバ管理者ガイド: 基本 (2019.1)

使用頻度の低いメタデータをアンロードする

時間の経過と共に、Helixサーバにはアクティブな開発モードでなくなった古いプロジェクトに関連するメタデータが蓄積されます。大規模なサイトでは、一連の作業データ(特にdb.havedb.labelsテーブルに格納されたデータ)を減らすことにより、パフォーマンスを大幅に向上させることができます。

アンロードディポを作成する

//unloadという名前のアンロードディポを作成するには、p4 depot unloadと入力し、表示されるフォームに次のように入力します。

Depot:       unload
Type:        unload
Map:         unloaded/...

この例では、アンロードされたメタデータはサーバルートの下にある(Map:フィールドにより指定される)/unloadedディレクトリ内のフラットファイルに格納されます。

アンロードディポを作成した後は、p4 unloadp4 reloadを使用して、環境内のワークスペースおよびラベルに関連するメタデータの処理方法を管理できます。

注意

管理者によってunloadタイプのディポが作成されている状態でp4 -ztag infoコマンドを実行すると、「unloadSupport enabled」が出力として表示されます。unloadタイプのディポが作成されていない場合は、「unloadSupport disabled」が出力として表示されます。

古いクライアントワークスペース、ラベル、タスクストリームをアンロードする

p4 unloadコマンドは、使用頻度の低いメタデータをHelix Coreサーバ db.*ファイルからアンロードディポ内のフラットファイルのセットへ転送します。

ユーザは、-cフラグ、-lフラグ、-sフラグを使用して、自分が所有しているクライアントワークスペース、静的ラベル、タスクストリームをアンロードすることができます。例えば、ビルドを連続して開発する環境下で、ワークスペースやラベルを1ビルドにつき1つずつ作成するビルドスクリプトの保守担当者は、各ビルドの終了時にその都度ラベルをアンロードすることが推奨されます。

$ p4 unload -c oldworkspace
$ p4 unload -l oldlabel

同様に、開発者は使用し終えたタスクストリームをその都度アンロード(p4 unload -s oldtaskstream)または削除(p4 stream -d oldtaskstream)することが推奨されます。

古くなり、使用されなくなったメタデータをまとめて管理するには、管理者は-a-al-acフラグを-d date-u userフラグのいずれか、または両方と併用します。これにより、特定のdateより古いか、特定のuserが所有する、あるいは両方の条件に該当するすべての静的ラベルおよびワークスペースをアンロードできます。

デフォルトでは、ロックが解除されたラベルまたはワークスペースしかアンロードされません。ロックされたラベルまたはワークスペースをアンロードするには、-Lフラグを使用します。

ワークスペースやラベルのアンロードまたはリロードを行うには、ワークスペースのhaveリストにあるすべてのファイル、当該ラベルのいずれか、または両方によってタグ付けされているファイルを、ユーザがスキャンできなくてはなりません。MaxScanrowsおよびMaxResultsを十分な大きさの値に設定して(「複数グループに含まれるユーザを対象とする場合のMaxResults、MaxScanRowsおよびMaxLockTime」を参照してください)、ユーザがp4 unloadまたはp4 reloadの操作にサポートを要求しなくて済むようにする必要があります。

アンロードされたデータへのアクセス

デフォルトでは、p4 clientsp4 labelsp4 filesp4 sizesp4 fstatなどのHelixサーバコマンドは、アンロードされたメタデータを無視します。アンロードされたワークスペースやラベル(またはアンロードされたその他のメタデータ)を調べる必要のあるユーザは、それらのコマンドの使用時に-Uオプションを使用できます。詳細については、『Helix Core P4コマンドリファレンス』を参照してください。

ワークスペースとラベルをリロードする

アンロードされたメタデータをdb.haveテーブルまたはdb.labelsテーブルに戻すことが必要になった場合は、p4 reloadコマンドを使用します。