FAQ

カタログ一覧

PERFORCE

ID.023

Q. Windows 環境におけるサーバの問題点


Windows における PERFORCE サーバの問題の要因

A.


ウイルスチェックソフト

最近 Windows 上で最も多く見られる問題の1つは、ウイルスチェックソフトに関連するものです。 最新のウイルスと最も徹底したウイルスチェックソフトとは絶えず戦っていますが、これが Windows アプリケーションに悪影響を及ぼすことが多くあります。

PERFORCE Windows サーバは、PERFORCE メタデータにアクセスする唯一のアプリケーションであると想定されています。 PERFORCE メタデータは、PERFORCE サーバのルート・ディレクトリ配下にある db.* ファイルに格納されています。PERFORCE サーバは内部的にファイル・ロックを使用して、メタデータ内の重要な領域に対する複数のクライアント・アクセスを同期しています。

多くのウイルスチェックソフトは動的に機能し、ファイルの使用中にそれらを監視しています。ファイルが更新された直後、ウイルスチェックソフトはファイル を開いてスキャンします。この動作が、PERFORCE サーバが次のクライアント要求を処理するのを妨げます。ウイルスチェックソフトは多くの場合、PERFORCE サーバとは異なるファイル・ロック形式やロック順序を使用しています。そのため PERFORCE サーバで DB エラーが発生し、クライアント・コマンドが強制終了されることになります。DB エラーの重大度によっては、PERFORCE サーバがシャットダウンされる可能性もあります。

PERFORCE サーバ稼動マシンではウイルスチェックソフトを使用しないことをお勧めします。可能であればサーバには専用のマシンを使用し、専用サーバを外部の影響から 保護できる方策を採ってください。完全にデータが埋め込まれた PERFORCE クライアント・ワークスペースを作成し、そこでウイルスチェックソフトを実行します。PERFORCE サーバ稼動マシンでウイルスチェックソフトを実行しなければならない場合は、ディポ・ディレクトリ配下のメタデータ・ファイルやレポジトリ・ファイルを チェックしないように設定してください。TCP/IP データ・ストリームのフィルタリングを行うウイルスチェックソフトの使用は避けてください。


Logitech ビデオ・ドライバ

Logitech ビデオ・ドライバ(LVPrcSrv.exe) が PERFORCE Windows インストーラを終了させてしまうことが知られています。 このビデオ・ドライバはインストーラによる Win32 API の DuplicateHandle 関数の呼び出しを妨害し、エラーを収集できないままインストーラをただちに終了させます。 現時点で知られている唯一の対応策は、[タスク マネージャ]で LVPrcSrv.exe プロセスを強制終了し、PERFORCE インストーラを実行してから LVPrcSrv.exe プロセスを再起動することです。 Logitech 社にはこの問題を連絡してありますが、回答は得られていません。


PERFORCE サーバのチェックポイント処理およびバックアップ

通常の PERFORCE サーバのチェックポイント処理を実行します。 PERFORCE のバックアップおよびリカバリの概念についてより詳しくは、 『システム管理者ガイド』を 参照してください。チェックポイント処理が完了したことを確認するには、現在のジャーナル番号が付け替えられ、新しいジャーナル・ファイルが作成されたこ とを確かめます。 通常のチェックポイント処理による出力、"p4d -jc" は以下のように示されます。"p4 admin checkpoint" を使用している場合は、この出力は現れません。Checkpointing to checkpoint.83...
Saving journal to journal.82...
Truncating journal...最後の行が新しいジャーナルの作成を示していることに注意してください。この行がチェックポイント出力にない場合、そのチェックポイントが不完全である可 能性が高いといえます。この行がない場合は PERFORCE テクニカル・サポートに電話またはメールで連絡してください。

適切なシステム・バックアップ方法を構築してください。そしてバックアップが作動していることを確認してください。最も重要なのは、バックアップ媒体から 確実にリカバリが可能であるようにすることです。バックアップの失敗やリカバリが不可能であることを、手遅れになるまでユーザが気付かないことがよくあり ます。


ディスク使用量の監視

PERFORCE サーバ稼動マシンに十分なディスク空き領域があるようにしてください。 PERFORCE サーバがディスク領域を使い果たすと、メタデータが破損する恐れがあります。ディスク領域を使い果たした可能性がある場合、PERFORCE サーバのルート・ディレクトリ、P4ROOT で "p4d -xv" コマンドを使用して PERFORCE サーバのメタデータをチェックすることができます。

チェックポイント作成時に "-z" オプションを使用し、"p4d -z -jc" を実行すると、チェックポイントで使用される領域が節約できます。チェックポイントの実行および検証の際、安全のために保存する必要があるのは、最新の 2、3 のチェックポイントとそれらに対応するジャーナル・ファイルだけです。ただしこれは、使用するシステム・バックアップのスケジューリングによって異なりま す。


Windows アップデートの適用

Microsoft 社は Windows アップデートを適用する便利な方法を提供しています。 しかし弊社では、Windows アップデートを手動で適用することを推奨します。可能であれば、アップデートを削除しなければならない場合に備え、バックアップ・オプションを選択してく ださい。システムが不安定になる前と後とを明確に判定できるようにアップデートをスケジューリングしてください。少なくとも、システム・セキュリティ攻撃 を防ぐためのセキュリティ・パッチを適用してください。原則として、弊社ではすべての最新セキュリティ・アップデートをサポートしようとしています。セ キュリティ・アップデートの実行後に問題にお気付きの場合は、PERFORCE テクニカル・サポートに電話またはメールで連絡してください。その際に問題が Windows アップデートに関連する可能性があることをお伝え頂ければ、問題解決に役立ちます。


システム・メモリ使用量

大規模なサイトを管理している場合、Windows x86 / 32 ビット・アプリケーションが使用できる仮想メモリは最大で 2GB であることに注意することが重要です。 お使いのサーバのメモリ使用量が 2GB に近づいている場合、Windows x64 / 64 ビット用の PERFORCE サーバをご提供します。このサーバ・バージョンは、NTX64 であり、PERFORCE 2006.1 の Windows インストーラで示されます。2006.1 の Windows インストーラには NTX86 と NTX64 の 2 つの PERFORCE サーバが含まれています。インストーラは自動的にどちらがインストールされるかを検出します。

弊社では、Windows 32 ビットのパフォーマンス上の問題から、Windows 32 ビット boot.ini のフラグに /3GB または /PAE を使用しないことをお勧めします。


ネットワーク・ディスクのパフォーマンス

PERFORCE サーバのメタデータにネットワーク・ディスクを使用すると、サーバのパフォーマンスが遅くなります。通常のローカル・エリア・ネットワークでは、最大デー タ転送速度は毎秒 100 メガビットです。データは 1 バイトずつ、10 ビットのフレームに入っています。 LAN は最高で毎秒10MB 転送することができますが、より現実的には、転送速度は毎秒 4~6MB です。 ギガバイト単位のネットワークの場合、これらの数値を 10倍してください。どちらの場合でも、通常は安価な SATA ドライブの方が高速です。

大規模なサイトでは、PERFORCE サーバのレポジトリ・ファイルの保存にネットワーク・ストレージを使用している場合があります。これにより PERFORCE サーバのアクセスが遅くなる可能性がありますが、IT 管理の面でやむを得ない選択といえるでしょう。 この場合は、PERFORCE サーバ・マシンとネットワーク・ストレージ・デバイスとの間にギガバイト単位のネットワーク接続を使用するようにしてください。 弊社ではディスク・パフォーマンスの試験に関心のあるお客様向けに、ディスク・スループットの試験ツールを用意しています。電子メールで PERFORCE テクニカル・サポート宛に "fstst" ツールを要求してください。


Windows サービスの権限をチェックする

PERFORCE サービスは、デフォルトでは PERFORCE Windows インストーラによって LocalSystem ユーザ・アカウントを使用するよう構成されていますが、これとは異なるユーザ・アカウントを PERFORCE サービスに割り当てる必要がある場合があります。その場合、このユーザ・アカウントにはマシンのレジストリへのアクセス権限がなくてはなりません。 レジストリへのアクセス権限を確認するには、そのユーザとしてログオンし、次のコマンドを実行してください。p4 set -S Perforce このコマンドが成功すれば、そのユーザ・アカウントはレジストリに対して必要な権限を持っています。また、そのユーザ・アカウントには PERFORCE サーバのルート(P4ROOT)配下のディレクトリ構造にアクセスする権限がなくてはなりません。権限があるかどうか不明な場合は、目的とする PERFORCE サーバのルート・ディレクトリの配下に、このユーザでファイルまたはディレクトリを作成してみてください。

<< PERFORCEに関するFAQ一覧へ戻る