FAQ

PERFORCEに関するFAQ

QPerforceHelix サーバのバックアップについて教えてください。

FAQ ID:7

A

Perforce Helix サーバのバックアップについては、こちらの動画をご覧ください。
ご参考に弊社のバックアップ運用で実績のあるスクリプトを紹介いたします。

- Perforce Helix バックアップスクリプト

- 本スクリプトは、弊社のバックアップ運用において動作実績があるスクリプトです。
- 動作させるには、お客様の環境に合わせて一部内容を変更する必要があるかもしれません。ロジックをご参考にしていただければ幸いです。
- p4_backup3.pl の冒頭コメント部分に記載している情報(機能概要、注意事項など)を必ずお読みください。

- ご不明な点がございましたら、こちらまでご遠慮なくお問い合わせください。

回答を閉じる

Qチケットの有効期間を変更することはできますか?

FAQ ID:16

A

Perforce グループごとに異なるチケットの有効期間を設定することができます。

チケットの有効期間を設定するには、Perforce グループの" p4 group "フォームの" Timeout: "フィールドを編集します。複数のグループに属するユーザの場合、チケットの有効期間は、対象のユーザが属する全グループの" Timeout 値 "の内、最大値となります。( この計算では、" unlimited "は含まれ、" unset " は無視して計算されます )

- 補足情報 -
システムアカウント用などのチケット有効期間を無期限にする場合には、Timeout:フィールドを [ unlimited ] に設定します。

回答を閉じる

Qチケットの有効期間を変更することはできますか?

FAQ ID:16

A
Perforce グループごとに異なるチケットの有効期間を設定することができます。

チケットの有効期間を設定するには、Perforce グループの" p4 group "フォームの" Timeout: "フィールドを編集します。複数のグループに属するユーザの場合、チケットの有効期間は、対象のユーザが属する全グループの" Timeout 値 "の内、最大値となります。( この計算では、" unlimited "は含まれ、" unset " は無視して計算されます )

- 補足情報 -
システムアカウント用などのチケット有効期間を無期限にする場合には、Timeout:フィールドを [ unlimited ] に設定します。
 

回答を閉じる

Qどのようなログイン認証が可能ですか?また、認証先にLDAPサーバ(Active Directory、OpenLDAPなど)を利用することはできますか?

FAQ ID:11

A
Helixサーバは、以下の2つの認証方式をサポートしており、LDAPサーバ(Active Directory、OpenLDAPなど)と連携したログイン認証もサポートしています。 ■ 認証方式
 1. Helixデータベースを利用したログイン認証
 2. LDAPと連携したログイン認証


1. Helixデータベースを利用したログイン認証
通常、Helixサーバへのログイン認証には、Helixサーバ(Helixデータベース上)に登録されたユーザ情報を利用します。

この認証処理の流れは以下のとおりです。


2. LDAPと連携したログイン認証
ログイン認証にLDAPサーバの情報を利用することもできます。LDAP連携には、Helixサーバ上にユーザ情報が必要となりますが、パスワード情報は必要ありません。なお、代表的なActive DirectoryやOpenLDAPをサポートしており、Helixサーババージョン2015.1以降からは、以下の2種類の認証方法に対応しています。

■ 2種類の認証方法
 ・LDAP仕様を利用した方法
 ・認証トリガを利用した方法


これらの認証処理の流れは以下のとおりです。

 

回答を閉じる

QLinuxパッケージを利用してPerforceサーバをインストールすることができますか?

A
はい、可能となります。対応しているLinuxディストリビューションは、Debian(.deb) for Ubuntu systemsとRPM (.rpm) for CentOS and RedHat Enterprise Linux (RHEL)になります。 ・Debian(.deb) for Ubuntu systems
・RPM (.rpm) for CentOS and RedHat Enterprise Linux (RHEL)

Debian(.deb) for Ubuntu systems1.Perforceパッケージ用リポジトリの作成
Perforceパッケージ用のリポジトリを作成します。ご利用中のOSバージョンにより記載内容が異なります。

For Ubuntu 12.04:
ファイル名"/etc/apt/sources.list.d/perforce.list"を以下の内容で作成します。deb http://package.perforce.com/apt/ubuntu/ precise release
For Ubuntu 14.04:
ファイル名"/etc/apt/sources.list.d/perforce.list"を以下の内容で作成します。deb http://package.perforce.com/apt/ubuntu/ trusty release
For Ubuntu 16.04:
ファイル名"/etc/apt/sources.list.d/perforce.list"を以下の内容で作成します。deb http://package.perforce.com/apt/ubuntu/ xenial release
2. PERFORCEパッケージ署名鍵のインポート
次のコマンドを実行して署名鍵をインポートします。$ wget -qO - https://package.perforce.com/perforce.pubkey | sudo apt-key add -
3. Perforceパッケージのインストール
次のコマンドを実行し、Perforceパッケージをインストールします。$ sudo apt-get update
$ sudo apt-get install helix-p4d ※引数として設定されている"helix-p4d"を"helix-proxy"、"helix-broker"に置き換えていただくことで、Perforceプロキシサーバ、Perforceブローカーサーバをインストールすることができます。

- インストールされるパッケージ helix-cli
helix-cli-base
helix-p4d-base
helix-p4d-base-17.1
helix-p4dctl ※現在の最新バージョンP4D2017.1がインストールされます。


RPM (.rpm) for CentOS and RedHat Enterprise Linux (RHEL)1.Perforceパッケージ用リポジトリの作成
Perforceパッケージ用のリポジトリを作成します。ご利用中のOSバージョンにより記載内容が異なります。

For CentOS/RHEL 6:
ファイル名"/etc/yum.repos.d/perforce.repo"を以下の内容で作成します。 [perforce]
name=Perforce
baseurl=http://package.perforce.com/yum/rhel/6/x86_64/
enabled=1
gpgcheck=1
For CentOS/RHEL 7:
ファイル名"/etc/yum.repos.d/perforce.repo"を以下の内容で作成します。 [perforce]
name=Perforce
baseurl=http://package.perforce.com/yum/rhel/7/x86_64/
enabled=1
gpgcheck=1
2. PERFORCEパッケージ署名鍵のインポート
次のコマンドを実行して署名鍵をインポートします。# rpm --import https://package.perforce.com/perforce.pubkey
3. Perforceパッケージのインストール
次のコマンドを実行し、Perforceパッケージをインストールします。# yum install helix-p4d ※引数として設定されている"helix-p4d"を"helix-proxy"、"helix-broker"に置き換えていただくことで、Perforceプロキシサーバ、Perforceブローカーサーバをインストールすることができます。

- インストールされるパッケージhelix-cli
helix-cli-base
helix-p4d-base
helix-p4d-base-17.1
helix-p4dctl ※現在の最新バージョンP4D2017.1がインストールされます。
 

回答を閉じる

QPerforceサーバのログはどのような方法で管理することができますか?

A
Perforceサーバが出力するログを管理する方法は2つあります。
- 管理方法
1. 構造化ログファイルによる管理
2. P4D起動オプションによる管理

- 詳細
1. 構造化ログファイルによる管理
ログファイルを構造化形式(.csv)で書き込むようにPerforceサーバを構成することができます。構造化ログファイルには一般的なログファイルよりも詳細な情報が含まれ、より解析しやすくなっています。
※詳細な情報が含まれる分、相当量のディスクスペースが消費される可能性があります。ローテート設定を併せて行っていただくことをお勧めいたします。
詳細につきましては、以下のURLをご覧ください。

- ログ記録と構造化ログファイル
http://www.toyo.co.jp/files/user/img/product/ss/help/perforce/r15.1/manuals/p4sag/chapter.superuser.html#superuser.advanced.logging

- 構造化ログ設定
ここでは、コマンドログ、エラーログ、監査ログの設定を例として説明いたします。

    コマンドログ
   - コマンド例
     p4 configure set serverlog.file.2=C:\log\command\commands.csv

    エラーログ
   - コマンド例
     p4 configure set serverlog.file.3=C:\log\error\error.csv

    監査ログ
   - コマンド例 
     p4 configure set serverlog.file.4=C:\log\audit\audit.csv

- ローテート設定例
ログファイルのローテートには、3つの設定が必要となります。

 1. ログファイルサイズの設定
   ログファイルがローテートされるファイルサイズを指定します。
   ※単位はMBでの指定となります。

   - コマンド例(200MB/ファイル)
    p4 configure set serverlog.maxmb.2=200
    p4 configure set serverlog.maxmb.3=200
    p4 configure set serverlog.maxmb.4=200

 2. ログファイル世代数の設定
   保存するログファイルの世代数を指定します。

   - コマンド例(5世代)
    p4 configure set serverlog.retain.2=5
    p4 configure set serverlog.retain.3=5
    p4 configure set serverlog.retain.4=5

 3. ローテート番号カウンタ設定
   ログファイルにローテート番号を追記する場合、カウントを設定します。

   - コマンド例
    p4 configure set serverlog.counter.2=log2
    p4 configure set serverlog.counter.3=log3
    p4 configure set serverlog.counter.4=log4

以上が、構造化ログの設定とログローテートによる管理方法となります。

2. P4D起動オプションによる管理

Perforceサーバ起動時に利用可能なオプションを用いることで、監査ログとサーバコマンドログの出力先を指定していただくことができます。
P4Dオプションの詳細は、以下のURLをご覧ください。

- P4Dオプション
http://www.toyo.co.jp/files/user/img/product/ss/help/perforce/r15.1/manuals/p4sag/appendix.p4d.html#p4d.options

- 利用オプション
-A : 監査ログファイルを指定します。
-L : ログファイルを指定します。

 - オプション設定例
 p4d -r /p4root -p 1666 -A /var/log/p4audit/audit.log -L /var/log/p4server/server.log

以上が、P4D起動オプションによる管理方法となります。

ご不明な点がございましたら、ご遠慮なくこちらまでお問い合わせください。

回答を閉じる

Q" Perforce "と" Perforce Helix "の違いを教えてください。

A
「Perforce Helix」というキーワードについてご説明させていただきます。
2015年にPerforce Software社は、これまでリリースしたすべての製品に対して、Helix というブランド名を付けました。 Perforce Helix は、従来の Perforce 製品全体を指しており、個々の製品には、Helix P4V、Helix Swarm、Helix Threat Detection のように、頭に Helix を付けております。
※従来の Perforceサーバ(P4D)だけは、Helix P4D とは表現せず、Helix バージョニングエンジンという名称になります。

ただし、全体を包括するブラント名として Helix という名前を用いるものの、個々の製品(例えば、Perforce サーバや P4V など)の機能は、これまでとまったく変わりはございません。そのため、弊社HPのPerforce-FAQ情報などはそのままご活用いただけます。

ご不明な点がございましたら、こちらまでご遠慮なくお問い合わせください。

回答を閉じる

Qバージョン化ファイル(ディポファイル)を格納するディポとデータベース(メタデータ)の違いはなにですか。

FAQ ID:19

A
ディポ(すなわち、Perforce Helix バージョニングエンジンが管理するファイル共有場所)には、Perforce Helix の管理下にある全ファイルのあらゆるリビジョン情報が含まれています。Peforce Helixはディポ内にあるファイルを大型ハードドライブのようにディレクトリ・ツリー(図1)として編成しています。 このディポ内のファイルをディポファイル、またはバージョン化ファイルと呼びます。
一方、Perforce Helix サーバではデータベースを保守し、チェンジログ、ユーザ権限、どの時点でどのユーザがどのファイルをチェックアウトしているかを追跡します。このPerforce Helix データベースに保存される情報をメタデータと呼びます。図1 メタデータとバージョン化ファイル

回答を閉じる

Qチケットベース認証のチケット(MD5ハッシュ値)が更新されるのはいつですか?

A
チケットベース認証に利用される、すべてのチケットの有効期間は有限(※1)であり、この有効期間が終了した後はチケットが無効となります。チケットの有効期間が終了後、再度ログインする際にチケット(MD5ハッシュ値)は更新されます。 " p4 logout -a "でログアウトした場合も、再ログイン時にはチケット(MD5ハッシュ値)が更新されます。 Perforce はチケットを環境変数" P4TICKETS "で指定されたファイルに保存します。この環境変数が設定されていない場合、Windowsでは%USERPROFILE%\p4tickets.txt、UNIXとその他のオペレーティングシステムでは$HOME/.p4ticketsにチケットが保存されています。

※1 デフォルトでは、チケットは12時間(43200秒)有効です。
※2 チケットの延長はこちらをご覧ください。
※3 チケットの有効期間の設定はこちらをご覧ください。

回答を閉じる

Qチケットの延長はできますか?

FAQ ID:15

A
ログイン中にp4 loginを実行すれば、チケットの有効期間を延長できます。ログイン中にp4 loginを実行すると、チケットの有効期間は初期タイムアウト設定値の1/3だけ延長されます。そのため、延長時間は初期タイムアウト設定の最大値に依存します。 

回答を閉じる

QEclipseとPerforceを連携することはできますか?

FAQ ID:15

A
Perforce Software社はEclipse連携用プラグイン(P4Eclipse)を提供しております。
お使いのEclipseにP4Eclipseをインストールしていただくことで、EclipseとPerforceを連携することができます。
P4Eclipseは、Perforceの構成管理システムをEclipseのIDEと密に連携させます。P4Eclipseの詳細な機能につきましては、下記URLをご覧ください。

- P4Eclipse (Eclipse Plug-in) -
 https://www.perforce.com/product/components/eclipse-plugin

※注意事項※
最新のP4EclipseがサポートするPerforceの対応環境と対応プラットフォームにつきましては、リリースノートをご覧ください。
- Release Notes for P4Eclipse -
 http://www.perforce.com/perforce/doc.current/user/p4eclipsenotes.txt

回答を閉じる

Q"「排他オープン」状態のファイルはチェックアウトできません。"とエラーが出力されました。チェックアウトするためにはどうすればいいですか?

FAQ ID:13

Q
A
【原因】
チェックアウト対象のファイル中に、次の状態のファイルが一つ以上あります。
上記理由により、排他オープンによるエラーが出力されています。

- 状態 -
 ファイルタイプ修飾子 "+l" が設定されている、かつ、 別のユーザがチェックアウトしている、もしくは、当該ユーザが別のワークスペースでチェックアウトしている


【確認方法】
チェックアウトされているファイルを漏れなく確認するには、" p4 opened "コマンドを用いたコマンドラインによる確認が適しています。 以下にコマンド例を示します。

- ユーザ(例)
 hela

- チェックアウト対象(例)
  //depot/dir1/aaa.c
  //depot/dir1/bbb.c
  //depot/dir1/ccc.c
  //depot/dir1/ddd.c

- コマンド(例)
 p4 opened -a //depot/dir1/....c

- コマンド結果(例)
//depot/dir1/aaa.c#8 - edit change 734 (unicode+lS) by bruno@bruno_ws *exclusive*
//depot/dir1/bbb.c#6 - edit change 734 (unicode+S)  by bruno@bruno_ws
※ユーザ "bruno" が、ワークスペース "bruno_ws" で利用しているチェンジリスト "734" において、" aaa.c " の " リビジョン8 "を排他チェックアウトしていることが確認できます。
※" bbb.c " の " リビジョン6 "は排他チェックアウトされていないため、今回のエラーには関係しません。


【対応策】
コマンド結果の例をもとに、以下に対応策を示します。

ユーザ "bruno" により、"aaa.c" の "リビジョン8"をサブミットする、もしくは、"aaa.c" の "リビジョン8"を元に戻すことで、ユーザ "hela" による当該ファイルのチェックアウトが可能となります。
 

回答を閉じる

Q管理用のレポート(リリース表、現在チェックアウト中のファイル一覧、ユーザOkanoが行ったチェンジの一覧 等)は作成できますか?

A
できます。チェンジをサブミットすることによって、「誰が」「いつ」「何を」「どこで」「どのような目的で」という情報をほとんど自動的に記録することができます。また、登録したジョブ、チェンジ、および実際に変更したファイル(リビジョン)はリンク情報を持っていますので、お互いに参照し、検索することができるようになっています。
具体的に、例えば次のようなレポートを作成することができます。

ユーザTanakaがサブミットしたチェンジの一覧
リリース3.00において変更したファイルの一覧と各ファイルにおける変更差分
ヘッダファイルfoo.hに対して8月1日以降にサブミットされたチェンジの一覧 等
 

回答を閉じる

QPerforceユーザはどのように削除できますか?また、どのような情報が一緒に削除されますか?

A
Perforceユーザ削除の方法は、コマンドラインによる削除とP4V [管理]ウィンドウ(P4Admin)による削除の2つの方法があります。

- Perforceユーザ削除の方法 -
1.コマンドラインによるユーザ削除方法
2.P4V [管理]ウィンドウ(P4Admin)による削除方法


1.コマンドラインによるユーザ削除方法
 例:削除ユーザ(mei)
  - コマンド
   p4 user -d mei
  - コマンド結果
   User mei deleted.

コマンドラインで p4 user -d [-f] xxxx を実行した場合、ユーザと一緒に、自動的に削除される情報はありません。
※スーパー権限を持ったユーザで [-f] オプションを指定すると強制的にユーザを削除することができます。


2.P4V [管理]ウィンドウ(P4Admin)による削除方法

① P4Vメニューバー[ツール(T)] - [管理(A)] (図1)を選択します。もしくは、P4Adminプログラム(図2)を直接起動します。





図1 P4Vメニューバー[ツール(T)] - [管理(A)]




図2 P4Adminアイコン

② [ユーザとグループ]タブ(図3)を選択します。





図3 管理ウィンドウ[ユーザとグループ]タブ

③ 削除対象のユーザを選択し右クリックからコンテキストメニュー(図4)を開き、[ユーザ 'mei' を削除(D)... ] を押下します。












④ [ユーザを削除] ウィンドウから、ユーザ削除と一緒に削除される情報を確認します。
P4V の[管理]ウィンドウ(P4Admin)からユーザを削除する場合は、図5の枠内の情報が一緒に削除されます。それらの情報はすべて、[ユーザを削除]ウィンドウ上に表示されています。(隠れて削除される情報はありません。)











- 赤枠:当該ユーザが所有するチェンジリスト
 (そのチェンジリストにおいてチェックアウトされているファイルは、元に戻されます)
- 青枠:当該ユーザが所有するワークスペース
- 緑枠:当該ユーザに関するパーミッションの情報(オプション)
※削除ユーザの作業中チェンジリストにある保留中ファイルを削除する場合は、[ユーザの作業中チェンジリストにある保留中ファイルを削除する(S)] のチェックボックスにチェックを入れてください。

⑤ ユーザ削除と一緒に削除される情報が削除しても問題がない場合、[ユーザを削除(D)] ボタンを押下しユーザを削除します。

- 補足情報 -
ユーザ削除と同時に、履歴情報などが削除されることはありません。
しかし、ユーザを削除されると、後々に履歴を確認する際、該当ユーザの実担当者を特定することが困難になる場合があります。また別の実担当者に旧ユーザと同名のユーザを割り当てた場合、履歴情報の追跡が困難になってしまう状況も想定されます。Perforce には、この状況を補助する機能として、スペック・ディポという機能が用意されております。
 

回答を閉じる

Q使用しているマシンを変更しました。以前のマシンで作成したワークスペースを新しいマシンに移行する方法はありますか。

FAQ ID:6

A
マシンを変更する場合は、以前のマシンのワークスペース配下に同期している ファイルを新しいマシンに移動することで、Perforce Helixサーバからファイルを 再取得することなくワークスペースを移行することができます。 以下に手順を示します。 1. 以前のマシンのワークスペースルート配下に同期しているすべてのファイルを 新しいマシンのワークスペースルートにする予定のディレクトリにコピーします。 2. P4VにてPerforce Helixのワークスペース(オブジェクト)を表示し、 移行対象のワークスペースを右クリックして[ワークスペースを編集]を選択します。 3. ワークスペースの編集画面の[基本]タブにて次の箇所を変更します。 変更対象: [ワークスペース・ルート] 変更後の値: 新しいマシンのワークスペースルートにする予定のディレクトリ 4.ワークスペースの編集画面の[詳細]タブに切り替えて次の箇所を変更します。 変更対象: [ホスト] 変更後の値: 新しいマシンのホスト名 注意事項: 通常は上記の手順でワークスペースを移行することができますが、ファイルシステム レベルで"以前のマシン上のファイル"と"新しいマシン上のファイル"に差異が生じる 可能性もございます。 このため、Perforce Helixは、所有リビジョンの情報が正確にコピーされていること を保証できないという点をご了承下さい。

回答を閉じる

Q地理的に分散した拠点における同時並行開発をサポートしますか?

FAQ ID:5

A
サポートします。地理的に分散した拠点間で情報を共有するには、 「中央のリポジトリに対して高速にネットワーク・アクセスする」か 「リポジトリの複製を用いてそれらを同期する」という手法が考えられます。 PERFORCEは、前者の手法を採用しています。
PERFORCEのファイル・アクセスにおいては、特定のネットワーク・ファイルシステム(NFS等)を 必要とせず、またデータのトラフィックも最小限に抑えられています。 つまり、WANのようなThin Network(細いネットワーク)においても十分なパフォーマンスが得られるため、 「リポジトリの複製を用いてそれらを同期する」ための面倒な環境と管理手順を必要としません。
P4Proxyを使えば、ネットワークのパフォーマンスを さらに改善することができます。

回答を閉じる

Qライセンスは、どのような単位で必要になりますか?

FAQ ID:6

A
PERFORCEのライセンスは、ユーザ・ロックのライセンスです。 したがいまして、特定の1ユーザに対して1ライセンスが必要となります。 このユーザはPERFORCEサーバごとに管理されます。
なお、このユーザ情報はPERFORCEが独自に管理する情報ですので、 NISやWindowsのドメインは必須ではありません。
ライセンスファイルを持たない場合でも、2ユーザまでであれば、製品版と同じ機能をご使用になれます。 ライセンスに関する詳細は、こちらをご覧ください。

回答を閉じる

Qインストール手順を教えて下さい。

FAQ ID:7

A
PERFORCEのインストール(およびアップグレード)は非常に簡単です。 東陽テクニカのWebサイトにおいて、その手順を図解入りで説明しておりますので、 恐れ入りますがそちらをご覧下さい。 基本操作のご紹介をご覧下さい。

回答を閉じる

QPERFORCEのリビジョン管理において、RCSのキーワード拡張($Id$、$Date$等)は使えますか?

FAQ ID:6

A
使えます。PERFORCEのファイルタイプという機能で「RCSのキーワード拡張」を選択することによって、 リビジョン管理されたファイルにRCSキーワード拡張を記述し、ファイル参照時にそれを展開することができます。
具体的なキーワードの情報が、 コマンド・リファレンスに書かれていますのでご参考にして下さい。

回答を閉じる

Qパフォーマンス改善技法

FAQ ID:058

A
概要

この記事では、大規模サイトのための様々なパフォーマンス改善技法を記述しています。

詳細

PERFORCE システム管理者ガイド』の第7章「PERFORCEのパフォーマンス調整」にある「サーバの停滞を防止する」を必ずお読みください。以下の技法の大部分は、その章で詳しく説明しています。
 
古い PERFORCE のリリースを稼動させている場合は、アップグレードを検討してください。PERFORCEの各リリースでは、それ以前のバージョンよりもパフォーマンスの 改善が図られています。現在のリリースバージョンについては、弊社ホームページの PERFORCE ソフトウェア・ダウンロード をご覧ください。
 
応答時間が遅い理由には、サーバマシンのリソースが不適切であること以外の理由もあります。例えば、以下に示す原因で起きる、不要なデータベースのロックです。
- 効率の悪いスクリプト
- 大規模なディポに対する無制限のクライアント・ビュー、およびプロテクションの未設定
- 膨大なデータセットに対して、未熟なユーザが無意識に実行したコマンド
 
データベースがロックされている状態を除 き、すべてのPERFORCEサーバの動作は非同期かつ並列で行われています。しかし、大規模なサイトにおける開発のピーク時に、大きいデータセットに対 して実行されるユーザ要求とスクリプトの組み合わせによっては、サーバマシンで過剰なページングをはっせいさせることがあります。 大規模な操作(膨大なラベルの再作成、巨大なワークスペースでの最初の同期など)は、業務時間外に計画することをお勧めします。それが不可能であれば、弊社テクニカルサポートに連絡し、PERFORCEサーバへの大きな要求を「サイド・トラッキングする」方法をお問い合わせください。
 
チェックポイント作成時、 PERFORCEサーバのデータベースはロックされます。お使いのPERFORCEサーバのデータベースが非常に大きいことによって、チェックポイント作 成に相当な時間がかかる場合は、チェックポイント作成を業務時間外に実行してユーザが影響を受けないようにします。それが不可能であれば、弊社テクニカルサポートに連絡して、オフライン・チェックポイントの実施方法をお問い合わせください。
 
PERFORCE サーバ動作させるだけならば、ハードウェア仕様は特に問いません。しかしながら、もしPERFORCEサーバが処理の限界に近づいている場合は、SMP(対照型マルチプロセッサ)マシンにアップグレードすることを検討してください。
 
非常に複雑なワークスペース・ビューまた はブランチ・ビューを用いた場合、ある程度、処理時間がかかることがあります(例えば、10万個のファイルについて300行のブランチ・ビューをスキャン する場合、1分から2分かかることがあります)。なるべく、複雑なビューを使用しないようにしてください。 (その方がユーザの操作も容易です。)
 
p4 obliterate は、業務時間外に最後の手段としてのみ使用してください。2004.2以前のリリースでは、非常に大きいディポがあると、obliterate の処理に何時間もかかることがあり、その間ユーザがロックアウトされます。2004.2以前のサーバでは、どれほど大きいデータベース・ファイルでも、そ の全体をコマンドラインの各引数に対して一度ずつスキャンします。(『PERFORCEシステム管理者ガイド』の第7章に記述されている「一時クライアントによる手法」を使用して、obliterate のコマンドライン引数を1個に減らすことができます。)
 
2005.1以降のリリースでは、 obliterate は高速化されています。2005.1以降のサーバでは、ファイルをスキャンする代わりに、より効率的なアルゴリズムを使用してデータベース・ファイル内で 削除すべきデータを探します。リリース2005.1では、アルゴリズムの1つにおいて各クライアントに設定されたMapStateを利用するため、すべて のクライアントにMapStateを設定することによって、非常に速く obliterate が処理されます。(なお、MapStateが実装されたのはリリース2005.1まででした。2005.2以降のリリースではMapStateを必要とせ ずに最適化されているため、MapStateは2005.2以降のリリースには存在しません。)リリース2005.1では、任意のクライアントから以下の シェルコマンドを使用して、すべてのクライアントのMapStateを設定することができます。 p4 clients \ | sed 's/^Client \([^ ]*\).*$/p4 -c \1 fstat \/\/depot\/file/' \ | /bin/sh > /dev/null 2>&1

回答を閉じる