説明
Perfore Helix Core 2019.1では、"client.sendq.dir" 構成可能変数が追加されました。
各クライアントの "db.sendq" テーブルが作成されるディレクトリを"client.sendq.dir" で指定することにより、並列同期を実行中に使用されるデータベーステーブルでのロックの競合を減らすことができます。
並列ファイル送信作業のキュー情報はデータベーステーブル"db.sendq" に格納されます。
情報 | ||
---|---|---|
| ||
手順
1.並列同期をオンにする
Helix Core 2019.1のデフォルトでは、並列同期機能はオフになっています。
そのため、並列同期機能をオンにする必要があります。
① 同時に同期するファイルスレッドの最大数を指定します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 configure set net.parallel.max=n |
② 同時に同期するファイルスレッドのデフォルト数を指定します
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
p4 configure set net.parallel.threads=m |
2.クライアントごとのdb.sendqテーブルのためのディレクトリを作成する
OSの機能を使用して、クライアントごとの"db.sendq" テーブルが作成されるディレクトリを作成します。
情報 |
---|
"client.sendq.dir"に指定するディレクトリは、"client.readonly.dir"と同じディレクトリを指定することを検討してください。 |
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mkdir /$P4ROOT/directory |
パネル | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
chown perforce:perforce -R $P4ROOT/directory |
階層イメージ
/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
└ client
└ client-directory
db.sendq