コンテンツ
説明
Perfore Helix Core 2019.1では、"client.sendq.dir" 構成可能変数が追加されました。
各クライアントの "db.sendq" テーブルが作成されるディレクトリを"client.sendq.dir" で指定することにより、並列同期を実行中に使用されるデータベーステーブルでのロックの競合を減らすことができます。
並列ファイル送信作業のキュー情報はデータベーステーブル"db.sendq.dir" に格納されます。
参照ページ
・「Helix Core P4コマンドリファレンス 」- client.sendq.dir
手順
1.並列同期をオンにする
Helix Core 2019.1のデフォルトでは、並列同期機能はオフになっています。
そのため、並列同期機能をオンにする必要があります。
① 同時に同期するファイルスレッドの最大数を指定します
p4 configure set net.parallel.max=n
※デフォルトは0(無効)。nに2以上の値を入力します
② 同時に同期するファイルスレッドのデフォルト数を指定します
p4 configure set net.parallel.threads=m
※mに2以上の値を入力します。①で設定した値以下の数値である必要があります。
2.クライアントごとのde.sendqテーブルのためのディレクトリを作成する
各OSの機能を使用して、$P4ROOT配下にクライアントごとの"db.sendq" テーブルが作成されるディレクトリを作成します。
"client.sendq.dir"に指定するディレクトリは、"client.readonly.dir"と同じディレクトリを指定することを検討してください。
mkdir /$P4ROOT/directory
例:mkdir /master/root/dbsendq
chown perforce:perforce -R $P4ROOT/directory
例:chown perforce:perforce -R /master/root/dbsendq
階層イメージ
/master/root/ (=$P4ROOT)
└ dbsendq
3.構成可能変数を設定する
作成したディレクトリを"client.sendq.dir"に設定します
p4 configure set client.sendq.dir=/master/root/dbsendq
"client.sendq.dir"にディレクトリを指定した後に並列同期が実行されると、指定されたディレクトリに "server.dbs" ディレクトリが作成され、個別の"db.sendq"テーブルが格納されます。
階層イメージ
/master/root/ (=$P4ROOT)
└ dbsendq
└ server.dbs
db.sendq