この特集のトップページへ

9.10.4 ネットワークの性能

 2階層クライアント/サーバーシステムであれ,3階層クライアント/サーバーシステムであれ,クライアントとサーバーとのあいだにはネットワークが存在し,クライアントとサーバーとのあいだではデータが頻繁にやり取りされる。ネットワークの処理能力も改善されてはいるものの,プロセッサの処理能力の改善と比較すると,それほど大きな改善は見られない。もしクライアントとサーバーとのあいだでやり取りされるデータ量が膨大であれば,ネットワークの性能にも影響は及ぶだろう。まして,オンライントランザクション処理システムでは,1つのデータ量は小さくとも,サーバー上のデータベースに対して多数のクライアントから同時に要求が寄せられる可能性もあり,各要求に割り当てられるネットワークの帯域幅は減少する。また,意思決定支援システムの場合には,少数の大容量データがネットワーク上を転送される。したがって,いずれのシステムでもクライアントとサーバーとのあいだのトラフィックを監視することが必要になる。

ネットワークの監視オブジェクトとカウンタ

 ネットワークの性能問題の原因はハードウェアに起因する場合もあるが,ほとんどの場合は過剰なネットワークトラフィックに原因がある。過剰なネットワークトラフィックが存在するのか,過剰なネットワークトラフィックが存在するならば,その種類は通常のデータトラフィックなのか,バーストモードトラフィックなのか,ブロードキャストトラフィックなのか,あるいは管理トラフィックなのかを明確にし,そのトラフィックをどのコンピュータのどのプロセスまたはサービスが生成しているのかを確認する必要がある。これらの情報を明確化したうえで,解決策を立案しなければならない。
 そのため,ネットワークの性能問題を検証するときには,パフォーマンスモニタとともにWindows NTネットワークモニタやネットワークアナライザ(LANアナライザやWANアナライザ)を利用したトラフィック分析が不可欠となる。Windows NTネットワークモニタは,ネットワークに問題があるか否かを調査したり,ネットワークで発生している問題を分析したりするときに有用なツールである。ただし,Windows NTネットワークモニタは,このツールが動作しているWindows NTコンピュータのネットワークトラフィックしか監視の対象としないので,ネットワーク全体のトラフィックを調べたいときにはネットワークアナライザを使用したほうがよい。
 すでに述べたように,Windows NTネットワークモニタは,このツールが動作しているコンピュータ上のネットワークトラフィックしか監視できない。したがって,SQL Serverにかかわるネットワークトラフィックを監視する場合には,SQL Serverが動作しているサーバーコンピュータ上でWindows NTネットワークモニタを稼働させて調査する必要がある。

Fig.9-75 Windows NTネットワークモニタ(クリックすると拡大可能)

 パフォーマンスモニタを利用してネットワークの問題を分析する場合には,以下に示すようなオブジェクトおよびカウンタに着目して調べる。

Fig.9-76 パフォーマンスモニタ

○Network Segment:% Network utilization
 ネットワークセグメントにおけるネットワーク帯域幅の使用率を示す。通常のデータトラフィックだけであれば,一般的にこのカウンタの値は10%またはそれ以下になる。30%を超える場合は,ネットワークがボトルネックになっている可能性がある。その場合は,Network Segment:% Multicast Frames/secカウンタおよびNetwork Segment:% Broadcast Frames/secカウンタの値を監視し,マルチキャストやブロードキャストが占めるネットワークセグメントの帯域幅の比率を調べる。その比率が大きければ,マルチキャストやブロードキャストを発生させているワークステーションおよびサービス(あるいはアプリケーション)をネットワークモニタまたはネットワークアナライザなどで見付け出す。
 マルチキャストやブロードキャストのネットワーク帯域使用比率が低い場合は,通常のデータトラフィックを発生しているワークステーションの台数が多すぎるか,通常のデータトラフィック以外にバーストモードトラフィックが発生している可能性がある。バーストモードトラフィック(大容量ファイル転送やレプリケーションなど)の場合は,75%以上のネットワーク帯域幅を使用することがある。  それ以外に,RIP,SAP,SNMPといったネットワーク管理パケットのトラフィックの発生比率をネットワークアナライザやネットワークモニタで観察する。

○Network Segment:Total frames received/second
 ネットワークセグメントにおける1秒あたりの受信フレームの総数を示す。受信フレーム数のなかでマルチキャストやブロードキャストのフレーム数がどの程度の比率を占めるかを調べるには,Network Segment:Multicast Frames Received/secカウンタおよびNetwork Segment:Broadcast Frames Received/secカウンタの値を観察する。

○Server:Errors System
 サーバーで発生したエラーの数を示す。このカウンタの数が1以上の場合には,ハードウェアの障害が考えられる。イベントログを調べ,問題を解決する。

○Server:Sessions Errored Out
 エラーのためにクローズされたセッション数を示す。このカウンタの数が1以上の場合には,サーバーに問題がある。イベントログを調べ,問題を解決する。

○Server:Work Item Shortages
 Work Itemとは,クライアントからの要求を待ち行列に登録してトレースするためにサーバーが使用するバッファのことである。このカウンタは,Work Itemが不足してクライアントからのデータ受信が拒絶された回数を表す。1以上であれば,レジストリのInitWorkItemsパラメータの値やMaxWorkItemsパラメータの値をチューニングする。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
    \Services\LanmanServer\Parameter\InitWorkItems

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
    \Services\LanmanServer\Parameter\MaxWorkItems

○Redirector:Network Error
 リダイレクトやサーバーにおける重大な通信障害の発生回数を示す。1以上であれば,ネットワークの調査が必要になる。

○Redirector:Reads Denied/sec
 サーバーがほかの要求処理のためにRaw Read要求を拒否した回数を示す。1以上であれば,レジストリのHKEY_LOCAL_MACHINE\SYSTEM\CuurentControlSet\Services\LanmanServer \ParameterのUseRawReadsパラメータをオフにする。あるいは,MaxWorkItemsパラメータの値を変更してバッファ数の増加を検討する。

○Redirector:Writes Denied/sec
 サーバーがほかの要求を処理するためにRaw Write要求を拒否した回数を示す。1以上であれば,レジストリのUseRawWriteパラメータをオフにする。あるいは,MaxWorkItemsパラメータの値を変更してバッファ数の増加を検討する。

○Redirector:Server Sessions Hung
 このカウンタの値は,リモートサーバーからタイムアウト時間を超えても応答がないために処理を続行できないセッション数を示す。1以上であれば,リモートサーバーかネットワークに問題がある。

○Redirector:Current Commands
 サービスの待ち行列に格納されている要求数を示す。2またはネットワークカード数より大きければ,リモートサーバーが低速であるか,リダイレクタがビジーであるか,ネットワークの帯域不足の問題である。

前へ Chapter 9 45/46 次へ