ページ ツリー

 コンテンツ

Tips

ここではWindows環境におけるHelix Coreサーバの問題の要因について説明しています。

■ ウイルスチェックソフト

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

以上のことから、Helix Coreサーバマシンでは、ウイルスチェックソフトの使用を避ける必要があります。可能であればHelix Coreサーバには専用のマシンを使用し、サーバを外部の影響から保護できる方策を採ります。完全に設定されたHelix Coreクライアントワークスペースを作成し、そこでウイルスチェックを実行します。

Helix Coreサーバマシンでウイルスチェックを実行する必要がある場合は、以下の点をご確認ください。

  • リアルタイムのウイルスチェックを無効にする
  • スケジュールされたチェックでディポディレクトリ配下のメタデータファイルやレポジトリファイルをチェックしないように設定する
  • Helix CoreサーバのTCP/IPトラフィックをフィルタリングするウイルスチェックソフトの使用を避ける

■ DNS逆引き参照

HelixCoreクライアントはDNS逆引き参照を実行します。
パフォーマンスを向上させるには、次のコマンドを実行します。

実行コマンド例

nslookup 10.0.95.98

 ※ 10.0.95.98:Helix CoreサーバのIPアドレス

コマンドの実行結果がHelix Coreサーバの名前の場合、DNS逆引き参照が機能しています。
結果がエラーの場合は、"hosts"ファイルにエントリを追加します。

hosts記述例

10.0.95.98 servername

 ※ servername:Helix Coreサーバの名前

■ Logitechビデオドライバ

Logitechビデオドライバ(LVPrcSrv.exe)がHelix CoreのWindowsインストーラを終了させてしまうことが報告されています。このビデオドライバはインストーラによるWin32 APIのDuplicateHandle関数の呼び出しを妨害し、エラーを収集できないままインストーラを即座に終了させてしまいます。

現時点での回避策は、[ タスクマネージャー ]で"LVPrcSrv.exe"プロセスを強制終了し、Helix Coreインストーラを実行後に"LVPrcSrv.exe"プロセスを再起動することです。

Logitechはこの問題を認識しています。

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

定期的にHelix Coreサーバのチェックポイント処理を実行します。Helix Coreのバックアップおよびリカバリについての詳細は『Helix Coreサーバ管理者ガイド:基本』を参照してください。
チェックポイント処理が完了したことを確認するには、現在のジャーナル番号が付け替えられ、新しいジャーナルファイルが作成されたことを確かめます。

コマンド"p4d -jc"を使用した一般的なチェックポイント操作からの出力は、次のようになります。
※ "p4 admin checkpoint"を使用している場合、この出力は表示されません。

"p4d -jc" コマンド実行結果例

Checkpointing to checkpoint.83...
Saving journal to journal.82...
Truncating journal...

最後の行が新しいジャーナルの作成を示しています。この行がチェックポイント出力にない場合、チェックポイントが不完全である可能性があります。
出力されていない場合は弊社サポート(ss_support@toyo.co.jp)までご連絡ください。

適切なシステムバックアップ方法を構築し、バックアップが作動していることを確認してください。最も重要なことは、バックアップからリカバリできることを確認しておくことです。バックアップが失敗していることや、リカバリが不可能な状態であることに、ユーザが気付いていないことがあります。

■ ディスク使用量

Helix Coreサーバがディスク領域を使い果たすと、メタデータが破損する可能性があるため、マシンに十分なディスク領域があることを確認します。
ディスク容量が不足していると思われる場合は、Helix Core Serverのルートディレクトリ"P4ROOT"でコマンド"p4d-xv"を使用してHelix Coreサーバのメタデータを確認できます。

チェックポイント作成時に"-z"オプション(圧縮)を使用すると、チェックポイントで使用されるディスク領域を節約できます。

実行コマンド例

p4d -z -jc

チェックポイントの実行および検証の際、安全のために保存する必要があるのは、最新の2、3のチェックポイントとそれに対応するジャーナルファイルだけです。
※ 使用するシステムバックアップのスケジュールにより異なります。
※ チェックポイントとジャーナルファイルを破棄する前に、最新のチェックポイントが正常であることを
  確認してください。Helix Coreメタデータのバックアップが正常に行われなくなる可能性があります。

■ Windowsアップデートの適用

Windowsの更新プログラムを手動で適用することをお勧めします。可能であれば、更新を削除する必要がある場合に備えて、バックアップオプションを選択してください。システムの不安定性の前後をより適切に判断するために、更新をスケジュールします。少なくとも、システムセキュリティ攻撃を防ぐための更新プログラムを適用してください。

セキュリティアップデート後に問題が発生した場合は、サポートにお問い合わせの際に、発生した問題がWindowsアップデートに関連する可能性があることをお伝えください。問題解決に役立ちます。

■ システムメモリ使用量

大規模なサイトを管理する場合、Windows x86/32ビットアプリケーションが使用できる仮想メモリは最大で2GBであることに注意してください。
Helix Coreサービスが2GBのメモリ使用量に近づいている場合は、Windows x64/64ビット用のHelix Core Serverの使用を検討してください。64ビットWindowsシステムは、2GBのメモリ制限の影響を受けません。
2006.2以降のWindowsインストーラには、NTX86とNTX64の2つのHelix Coreサーバが含まれています。インストーラは、どちらをインストールするかを自動で検出します。

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

■ ネットワークディスク(NAS)のパフォーマンス

Helix Coreサーバのメタデータにネットワークディスクを使用すると、サーバのパフォーマンスが低下します。ネットワークの往復による遅延時間は、Helix Coreのパフォーマンスに深刻な影響を与える可能性があります。これは、Helix Coreが1秒あたり数千のファイル要求を発行するため、小さな遅延が何度も増幅されるためです。Helix Coreのほぼすべてのテストで、DAS(直接接続ストレージ)システムの方が高速です。

一部の大規模なサイトでは、Helix Coreサーバのバージョン管理されたファイルにNAS(ネットワークストレージ)を使用しています。Helix Coreサーバマシンとネットワークストレージデバイス間でギガビット以上のネットワーク接続を使用し、必要に応じた帯域幅が適切であることを確認してください。

ディスクパフォーマンスのテストに関心がある場合は、ディスクスループットテストツールを使用できます。サポート(ss_support@toyo.co.jp)宛に"fstst"ツールを依頼してください。

■ Windowsサービスの権限

Helix Coreサービスは、デフォルトでHelix Core Windowsインストーラによってローカルシステムユーザアカウントを使用するように設定されていますが、必要に応じ別のユーザアカウントを割り当てることも可能です。その場合、このユーザアカウントにはマシンのレジストリへのアクセス権が必要です。

レジストリへのアクセスを確認するには、そのユーザとしてログオンし、次のコマンドを実行します。

実行コマンド

p4 set -S Perforce

このコマンドが成功した場合、ユーザアカウントにはレジストリに対する必要な権限があります。

また、そのユーザアカウントにはHelix Coreサーバのルート(P4ROOT)配下のディレクトリにアクセスする権限も必要です。権限が不明な場合は、目的とするHelix Coreサーバのルートディレクトリ配下に、このユーザでファイルまたはディレクトリを作成できるかで確認できます。

■ TCP ポートの不足

Helix Coreは、TCPポートを介してクライアントと通信します。多くのTCP接続を提供するサーバでは、Windowsのソフト制限に達する可能性があります。
マイクロソフト社は、利用可能なTCPポートの数を増やし、使用するポートが解放される前にタイムアウトを減らす方法に関するサポート技術情報の記事を用意しています。