製品情報
技術情報
  簡単に使ってみましょう(Windows)
  簡単に使ってみましょう(UNIX)
  よくある質問 (FAQ)
  テクニカルノート
  製品比較
  用語集
  ネットワーク上でのソフトウェア開発
  インターファイル・ブランチング
  ソフトウェア構成管理の
高度な実践方法・・・
  変更管理を通じた製品品質の向上
  PERFORCE−SOFTUNE
連携運用ガイド (Rev1.02)[PDF]
ライセンス情報
テクニカルサポート
ソフトウェア ダウンロード
マニュアル ダウンロード
 
テクニカルノート040 HOME 製品 PERFORCE 技術情報 ノート


ネットワークの問題の切り分け
パフォーマンス低下はネットワークが原因であることは、どのようにして判定できますか

問題

PERFORCEの応答時間の遅延はネットワークの問題によるものであると、どのようにして判定できますか

解決策

はじめに、PERFORCEのログファイルを調査し、標準のシステム管理ツールを使用して、応答時間の遅延を診断します。PERFORCEコマンドがローカル・マシン上では迅速に実行され、ネットワーク経由では動作が遅い場合、ネットワークの問題であると思われます。または、PERFORCEログに情報が提供されていれば、例えば経過時間と使用時間とを比較します。

非常に大きいユーザ処理によってPERFORCEサーバの応答が遅くなることも考えられますが、持続的にPERFORCEへの応答が遅い場合、通常はネットワークの問題が原因です。以下のいずれかの要因により、応答が遅くなることがあります。

  1. ドメインネームサーバ(DNS) の構成の誤り
  2. Windowsネームサーバ(WINS)またはWindowsドメインの構成の誤り
  3. ネットワーク応答の遅延
   注意:

ネットワークの問題の解決はこのノートの範囲外ですが、問題解決のための提案をいくつか示します。

p4 info

最初の試験として適切なのは、p4 info コマンドを実行することです。このコマンドがほぼ実行直後に応答しない場合、ネットワーク関連の問題があります。p4 info コマンドでは、PERFORCEサーバへの通信にP4PORTの設定が使用されます。P4PORT の設定にサーバマシンのホスト名が使用されていれば、サーバIPアドレスの取得にDNSルックアップが必要です。DNSサーバに障害があるかネットワークが遅い場合は、ルックアップ処理に時間がかかります。直接IPアドレスを使用することで、DNSルックアップを回避することができます。

ホスト名 対 IPアドレス

クライアント・マシン上で、P4PORTの設定にPERFORCEサーバのIPアドレスを使用してみましょう。これにより、ホスト名のIPアドレスへの変換に使用されるDNSルックアップが回避されます。サーバのホスト名を使用したP4PORTの例を示します。
P4PORT=hostname:1666
                  
IPアドレスを直接使用すると、P4PORTの設定は次のようになります。
P4PORT=1.2.3.4:1666
                  
PERFORCEサーバマシンのIPアドレスが手元にない場合、ping コマンドを使用して知ることができます。pingコマンドの実行例は次のとおりです。
ping hostname
                  
pingコマンドの出力には、ホスト名に対するIPアドレスが表示されます。

P4PORTの設定にIPアドレスを使用したときに p4 info コマンドがすぐに応答する場合は、DNSの構成が誤っています。

"p4 info" 対 P4Win

p4 info コマンドはPERFORCEサーバによって処理されます。PERFORCEサーバがコマンドに対する出力情報を編集するとき、クライアントのIPアドレスに対してDNSリバースルックアップを行います。 DNSフォワードルックアップは高速である場合もありますが、DNSリバースルックアップは低速です。DNSリバースルックアップが低速であると判定する1つの方法は、PERFORCE Windows クライアント P4Winを使用することです。P4Winでの「接続情報を表示」の操作では、DNSリバースルックアップを行いません。

P4Winの「接続情報を表示」の応答と、コマンドラインでのp4 infoからの応答とを比較することができます。「接続情報を表示」の処理が速く、p4 infoが遅ければ、PERFORCEサーバマシンにはDNSリバースルックアップの問題があります。

   注意: この試験は、リリース 99.1 およびそれ以降のPERFORCEサーバに対してのみ有効です。99.1より前のリリースでは、PERFORCEサーバは要求がp4 infoから送られたかP4Winから送られたかにかかわらず、常に逆方向のネームルックアップを行っていました。

"hosts" ファイル

ホスト名とIPアドレスのエントリをhostsファイルに追加することにより、DNSの問題を回避することができます。このタスクは通常、システム管理者によって実行されますが、各企業での標準の手続きに従ってください。

P4PORTの設定にIPアドレスを使用する代わりに、ホスト名とIPアドレスのエントリをhostsファイルに追加することができます。hostsファイルは見つけにくい場合があります。それを見つけるためのいくつかの場所を以下に示します。

  1. NT/2000/XP: C:\Winnt\System32\Drivers\etc\hosts
  2. Win98: C:\Windows\hosts and hosts.sam
  3. Win95: C:\Windows\hosts and hosts.sam
  4. Unix: /etc/hosts
Windows95および98では、hostsファイルをhosts.samファイルにコピーする必要があるかもしれません。

hostsファイルのエントリの例を以下に示します。
1.2.3.4     hostname
                  
DNSリバースルックアップに問題があると判定した場合は、クライアント・ホスト名のエントリをPERFORCEサーバマシンのhostsファイルに追加する必要があります。

Windowsにおけるワイルドカード

場合によっては、p4コマンドでディポ構文またはクライアント構文をワイルドカードと組み合わせた、引用符で囲んでいないファイルパターンを使用すると遅延が生じることがあります。
p4 files //depot/*
p4 files //client/*
                  
Windows用ワイルドカード拡張ルーチンがディポ名またはクライアント名をネットワーク・システム名と間違えることにより、遅延が発生します。ファイルパターンの前後に二重引用符を入れることにより、遅延を防ぐことができます。
p4 files "//depot/*"
                  
ワイルドカードの特殊な取り扱いに関してさらに詳しくは、NOTE041「特殊文字の使用」を参照してください。

ネットワークの形態

今日のネットワークの多くは、100 Mbitテクノロジを使用しています。このタイプのネットワークにおける理論上の最大転送速度は、毎秒10メガバイトです。多くの場合、これより遅い転送速度になることがあります。ネットワークが飽和状態になると、転送速度は毎秒4メガバイト程度まで大幅に低下します。このような場合、ネットワークルータまたはスイッチを使用すると役立つことがあります。

ネットワーク・ファイルシステム上のクライアント

p4コマンド(実行ファイル)自体が、パフォーマンスの非常に悪い、ネットワーク接続されたファイルシステム上にあることも考えられます。これをチェックするには、次のコマンドを実行してみましょう。
p4 -V
                  
このコマンドは単にバージョン情報を出力するもので、ネットワークアクセスは一切試行しません。応答が遅ければ、p4コマンド自体へのネットワークアクセスに問題がある可能性があります。p4コマンドの実行ファイルをローカル・ファイルシステムにコピーまたはダウンロードしてみてください。

また、PERFORCEクライアント・ルートにネットワーク・ファイルシステムを使用すると、コマンドへの応答が遅くなることがあります。PERFORCEクライアント・コマンドで転送されるすべてのバイトは、ネットワークを2度通過しなければなりません。うち1回はPERFORCEサーバからPERFORCEクライアント・アプリケーションへの転送、もう1回はPERFORCEクライアント・アプリケーションからネットワーク・ファイルシステムへの転送です。ネットワークが飽和状態にあり、クライアント・ワークスペースに大きいファイルまたは多数のファイルがある場合、p4 sync などのコマンドが遅くなることが予想できます。PERFORCEクライアント・ワークスペースをローカル・ファイルシステムに移動させてみてください。

ネットワーク・ファイルシステム上のサーバ

PERFORCEサーバにネットワーク・ファイルシステムを使用することは非常に慎重に検討する必要があります。上記のPERFORCEクライアントのシナリオのように、サーバ・アプリケーションへのデータおよびサーバ・アプリケーションからのデータはネットワークを2度通過しなければなりません。また、PERFORCEサーバは重大なデータファイルに対してファイルのロックを使用します。ネットワーク・ファイルシステムのすべてが効率的にロック機能を実装しているわけではなく、一部にはバグが多いものもあります。

ネットワークが飽和状態にあり、転送率が毎秒4メガバイト程度に低下している場合、PERFORCEサーバはクライアントの要求を満たすことはできません。各クライアント要求はネットワークの一部を使用しており、PERFORCEサーバはネットワーク・ファイルシステムにアクセスするためにそのリソースを共有しなければなりません。昨今の安価なハードドライブでは、毎秒20メガバイト程度の転送率を提供します。良質なSCSIハードドライブでは毎秒160メガバイト程度の転送が可能です。可能な限り、ネットワーク・ファイルシステムに関わるサーバのボトルネックを避けるようにしてください。

NetAppファイラーなどの特殊用途向けネットワーク・ファイルシステムがある場合、プライベートなギガビットのファイバー接続を、直接PERFORCEサーバマシンに対して使用することを検討してください。隔絶されたギガビット接続では、毎秒100メガバイトの転送率が得られることが見込まれます。


戻る