ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris のシステム管理 (ネットワークサービス) Oracle Solaris 11 Information Library (日本語) |
パート II ネットワークファイルシステムへのアクセス (トピック)
6. ネットワークファイルシステムへのアクセス (リファレンス)
23. 非同期 Solaris PPP から Solaris PPP 4.0 への移行 (手順)
次の表は、ネットワークのパフォーマンスを監視するために使用できるコマンドを説明します。
表 30-1 ネットワーク監視コマンド
|
ping コマンドを使用して、ネットワーク上のホストの応答を検査します。
$ ping hostname
物理的な問題が発生していると思われる場合は、ping を使用して、ネットワーク上にある複数のホストの応答時間を調べることができます。あるホストからの応答が期待していたものと異なる場合は、そのホストについて調査します。物理的な問題が発生する理由を次に示します。
このコマンドの詳細は、ping(1M) のマニュアルページを参照してください。
例 30-1 ネットワーク上のホストの応答を検査する
もっとも簡単なバージョンの ping は、ネットワーク上のホストへ 1 つのパケットを送信します。ping コマンドが正しい応答を受信すると、コマンドは「host is alive」というメッセージを表示します。
$ ping elvis elvis is alive
-s オプションを指定すると、ping は 1 秒ごとにデータグラムをホストへ送り、次に各応答と、往復に要した時間を表示します。次に例を示します。
$ ping -s pluto 64 bytes from pluto (123.456.78.90): icmp_seq=0. time=3.82 ms 64 bytes from pluto (123.456.78.90): icmp_seq=5. time=0.947 ms 64 bytes from pluto (123.456.78.90): icmp_seq=6. time=0.855 ms ^C ----pluto PING Statistics---- 3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms) min/avg/max/sttdev = 0.855/1.87/3.82/1.7
spray コマンドを使用して、パケットサイズの信頼性を検査します。
$ spray [ -c count -d interval -l packet-size] hostname
送信するパケット数
パケットの送信ごとに一時停止するマイクロ秒数。遅延を使用しないと、バッファーを使い果たす可能性がある
パケットサイズ
パケットを送信するシステム
このコマンドの詳細は、spray(1M) のマニュアルページを参照してください。
例 30-2 ネットワーク上のホストへパケットを送信する
次の例では、各パケットサイズが 2048 バイト (-l 2048) のパケット 100 個 (-c 100) を、ホストへ送信します。パケットは、各バースト間に 20 マイクロ秒の遅延時間 (-d 20) を入れて送信されます。
$ spray -c 100 -d 20 -l 2048 pluto sending 100 packets of length 2048 to pluto ... no packets dropped by pluto 279 packets/sec, 573043 bytes/sec
ネットワークからパケットを捕捉し、各クライアントから各サーバーへの呼び出しを追跡するには、snoop を使用します。このコマンドは、ネットワークのパフォーマンスの問題をすばやく解析するための、正確なタイムスタンプを提供します。詳細は、snoop(1M) のマニュアルページを参照してください。
# snoop
パケットがドロップするのは、バッファーの領域不足か、CPU の過負荷が原因となっている場合があります。
ネットワークインタフェース、ルーティングテーブル、各種プロトコルの状態に関する統計情報など、ネットワーク状態に関する情報を表示するには、netstat コマンドを使用します。
$ netstat [-i] [-r] [-s]
TCP/IP インタフェースの状態を表示する
IP ルーティングテーブルを表示する
UDP、TCP、ICMP、および IGMP プロトコルについての統計情報を表示する
詳細は、netstat(1M) のマニュアルページを参照してください。
次の表示例は、netstat -i コマンドの出力を示したものです。このコマンドは、TCP/IP トラフィックに使用されるインタフェースの情報を表示します。
$ netstat -i Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue lo0 8232 software localhost 1280 0 1280 0 0 0 eri0 1500 loopback venus 1628480 0 347070 16 39354 0
上記の表示例は、マシンが各インタフェース上で送受信したパケット数を示しています。有効なネットワークトラフィックが存在するマシンでは、Ipkts と Opkts の両方が継続的に増加しているはずです。
ネットワーク衝突率は、衝突カウント (Collis) を出力パケットの数 (Opkts) で割ることにより算出できます。上記の例では、衝突率は 11%です。ネットワーク全体の衝突率が 5 から 10 %を超える場合には、問題が発生している可能性があります。
入力パケットのエラー率 (Ierrs/Ipkts) は、入力エラー数を合計入力パケット数で割ることにより算出できます。出力パケットのエラー率 (Oerrs/Opkts) は、出力エラー数を合計出力パケット数で割ることにより算出できます。入力エラー率が高い場合 (0.25% を超えている場合)、ホストがパケットを落としている可能性があります。
次の例は、netstat -s コマンドの出力を示します。このコマンドは、UDP、TCP、ICMP、および IGMP についてプロトコル別の統計情報を表示します。
UDP udpInDatagrams =196543 udpInErrors = 0 udpOutDatagrams =187820 TCP tcpRtoAlgorithm = 4 tcpRtoMin = 200 tcpRtoMax = 60000 tcpMaxConn = -1 tcpActiveOpens = 26952 tcpPassiveOpens = 420 tcpAttemptFails = 1133 tcpEstabResets = 9 tcpCurrEstab = 31 tcpOutSegs =3957636 tcpOutDataSegs =2731494 tcpOutDataBytes =1865269594 tcpRetransSegs = 36186 tcpRetransBytes =3762520 tcpOutAck =1225849 tcpOutAckDelayed =165044 tcpOutUrg = 7 tcpOutWinUpdate = 315 tcpOutWinProbe = 0 tcpOutControl = 56588 tcpOutRsts = 803 tcpOutFastRetrans = 741 tcpInSegs =4587678 tcpInAckSegs =2087448 tcpInAckBytes =1865292802 tcpInDupAck =109461 tcpInAckUnsent = 0 tcpInInorderSegs =3877639 tcpInInorderBytes =-598404107 tcpInUnorderSegs = 14756 tcpInUnorderBytes =17985602 tcpInDupSegs = 34 tcpInDupBytes = 32759 tcpInPartDupSegs = 212 tcpInPartDupBytes =134800 tcpInPastWinSegs = 0 tcpInPastWinBytes = 0 tcpInWinProbe = 456 tcpInWinUpdate = 0 tcpInClosed = 99 tcpRttNoUpdate = 6862 tcpRttUpdate =435097 tcpTimRetrans = 15065 tcpTimRetransDrop = 67 tcpTimKeepalive = 763 tcpTimKeepaliveProbe= 1 tcpTimKeepaliveDrop = 0 IP ipForwarding = 2 ipDefaultTTL = 255 ipInReceives =11757234 ipInHdrErrors = 0 ipInAddrErrors = 0 ipInCksumErrs = 0 ipForwDatagrams = 0 ipForwProhibits = 0 ipInUnknownProtos = 0 ipInDiscards = 0 ipInDelivers =4784901 ipOutRequests =4195180 ipOutDiscards = 0 ipOutNoRoutes = 0 ipReasmTimeout = 60 ipReasmReqds = 8723 ipReasmOKs = 7565 ipReasmFails = 1158 ipReasmDuplicates = 7 ipReasmPartDups = 0 ipFragOKs = 19938 ipFragFails = 0 ipFragCreates =116953 ipRoutingDiscards = 0 tcpInErrs = 0 udpNoPorts =6426577 udpInCksumErrs = 0 udpInOverflows = 473 rawipInOverflows = 0 ICMP icmpInMsgs =490338 icmpInErrors = 0 icmpInCksumErrs = 0 icmpInUnknowns = 0 icmpInDestUnreachs = 618 icmpInTimeExcds = 314 icmpInParmProbs = 0 icmpInSrcQuenchs = 0 icmpInRedirects = 313 icmpInBadRedirects = 5 icmpInEchos = 477 icmpInEchoReps = 20 icmpInTimestamps = 0 icmpInTimestampReps = 0 icmpInAddrMasks = 0 icmpInAddrMaskReps = 0 icmpInFragNeeded = 0 icmpOutMsgs = 827 icmpOutDrops = 103 icmpOutErrors = 0 icmpOutDestUnreachs = 94 icmpOutTimeExcds = 256 icmpOutParmProbs = 0 icmpOutSrcQuenchs = 0 icmpOutRedirects = 0 icmpOutEchos = 0 icmpOutEchoReps = 477 icmpOutTimestamps = 0 icmpOutTimestampReps= 0 icmpOutAddrMasks = 0 icmpOutAddrMaskReps = 0 icmpOutFragNeeded = 0 icmpInOverflows = 0 IGMP: 0 messages received 0 messages received with too few bytes 0 messages received with bad checksum 0 membership queries received 0 membership queries received with invalid field(s) 0 membership reports received 0 membership reports received with invalid field(s) 0 membership reports received for groups to which we belong 0 membership reports sent
次の例は、netstat -r コマンドの出力を示します。このコマンドは、IP ルーティングテーブルを表示します。
Routing Table: Destination Gateway Flags Ref Use Interface ------------------ -------------------- ----- ----- ------ --------- localhost localhost UH 0 2817 lo0 earth-bb pluto U 3 14293 eri0 224.0.0.0 pluto U 3 0 eri0 default mars-gate UG 0 14142
次の表では、netstat -r コマンドが出力するレポート中のフィールドを説明しています。
表 30-2 netstat -r コマンドの出力
|
NFS 分散型ファイルサービスは、ローカルコマンドをリモートホストへの要求に変換する、遠隔手続き呼び出し (RPC) 機能を使用します。遠隔手続き呼び出しは同期型の呼び出しです。サーバーが呼び出しを完了してその結果を返すまで、クライアントアプリケーションはブロックまたは中断されます。NFS のパフォーマンスに影響を与える主要な要素の 1 つに再伝送率があります。
ファイルサーバーがクライアントの要求に応答できない場合、そのクライアントは、指定された回数だけ要求を再伝送して終了します。再伝送のたびにシステムにオーバーヘッドがかかり、ネットワークトラフィックが増加します。過度の再伝送はネットワークのパフォーマンスを低下させます。再伝送率が高い場合、次を調べてください。
次の表に、クライアントとサーバーの統計情報を示するための nfsstat コマンドのオプションとその説明を示します。
表 30-3 クライアントとサーバーの統計情報を表示するためのコマンド
|
クライアントの統計情報を表示するには nfsstat -c を使用し、サーバーの統計情報を表示するには nfsstat -s を使用します。ファイルシステムごとのネットワークの統計情報を表示するには、nfsstat -m を使用します。詳細は、nfsstat(1M) のマニュアルページを参照してください。
次の例は、クライアント pluto の RPC と NFS データを表示します。
$ nfsstat -c Client rpc: Connection oriented: calls badcalls badxids timeouts newcreds badverfs timers 1595799 1511 59 297 0 0 0 cantconn nomem interrupts 1198 0 7 Connectionless: calls badcalls retrans badxids timeouts newcreds badverfs 80785 3135 25029 193 9543 0 0 timers nomem cantsend 17399 0 0 Client nfs: calls badcalls clgets cltoomany 1640097 3112 1640097 0 Version 2: (46366 calls) null getattr setattr root lookup readlink read 0 0% 6589 14% 2202 4% 0 0% 11506 24% 0 0% 7654 16% wrcache write create remove rename link symlink 0 0% 13297 28% 1081 2% 0 0% 0 0% 0 0% 0 0% mkdir rmdir readdir statfs 24 0% 0 0% 906 1% 3107 6% Version 3: (1585571 calls) null getattr setattr lookup access readlink read 0 0% 508406 32% 10209 0% 263441 16% 400845 25% 3065 0% 117959 7% write create mkdir symlink mknod remove rmdir 69201 4% 7615 0% 42 0% 16 0% 0 0% 7875 0% 51 0% rename link readdir readdir+ fsstat fsinfo pathconf 929 0% 597 0% 3986 0% 185145 11% 942 0% 300 0% 583 0% commit 4364 0% Client nfs_acl: Version 2: (3105 calls) null getacl setacl getattr access 0 0% 0 0% 0 0% 3105 100% 0 0% Version 3: (5055 calls) null getacl setacl 0 0% 5055 100% 0 0%
次の表に、nfsstat -c コマンドの出力とその説明を示します。
表 30-4 nfsstat -c コマンドの出力
|
次に、nfsstat -m コマンドの出力例を示します。
pluto$ nfsstat -m /usr/man from pluto:/export/svr4/man Flags: vers=2,proto=udp,auth=unix,hard,intr,dynamic, rsize=8192, wsize=8192,retrans=5 Lookups: srtt=13 (32ms), dev=10 (50ms), cur=6 (120ms) All: srtt=13 (32ms), dev=10 (50ms), cur=6 (120ms)
次の表に、ミリ秒単位で示される nfsstat -m コマンドの出力を示します
表 30-5 nfsstat -m コマンドの出力
|
ネットワークのハードウェアコンポーネントに問題の原因があると思われる場合は、ケーブルおよびコネクタを綿密にチェックしてください。