Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

ネットワーク (Network)

ファイル転送や読み込みが遅いNW問題時に調査したことやパフォーマンスモニタの基本操作

投稿日:2019年8月25日 更新日:

(0)目次&概説

(1) ネットワークが遅い時
 (1-1) 概要
 (1-2) 想定シーン
(2) ネットワークが遅い時の調査の切り口
 (2-1) 転送速度のチェック
 (2-2) LANケーブルを確認する
 (2-3) パフォーマンスモニタでメモリを確認する
(3) 用語の解説
 (3-1) ページフォルトとは?
 (3-2) 仮想メモリとは?

(1) ネットワークが遅い時

(1-1) 概要

「ネットワークが遅い」といっても様々な事象が含まれると思いますが、今回は下記のような症状があった場合に出来る対処について紹介します。

①サーバー間のファイルの転送が遅い
例えば1GBファイルのサーバー間の転送に15分かかり遅いケース(10mbps程度の速度が出てれば直ぐ完了するはず)。

②ローカルにあるファイルの読み込みが遅い
アプリケーション等の起動に非常に時間が掛かるケース(起動に必要なファイルの読み取りに時間が掛かっている)。

目次にもどる

(1-2) 想定シーン

想定シーン例としては、下図のような外部ネットワークに接続していないスタンドアロン環境です。
(サーバーA)←→(LANケーブル)←→(HUB)←→(LANケーブル)←→(サーバーB)と接続されています。
またデータの流れとしては下記のようなフローを例に挙げて考えます。
①サーバーBのDBからBLOBデータをファイル化(HDD読み込み/書き込み)
②サーバーB⇒サーバーAに上記データを送信(パケットが送られる)
③サーバーAのファイルにコピー完了後(HDD書き込み)、アプリケーションにて当該データを読み込み(HDD読み込み)

(図40-1)

目次にもどる

(2) ネットワークが遅い時の調査の切り口

(2-1) 転送速度のチェック

まずはファイルコピーにて転送速度をチェックします。例えばGB単位の大きなファイルを(サーバーA)→(サーバーB)に転送を行い、その転送速度をチェックする事でネットワークのスピードをざっくり把握します。例えば10Mbpsのネットワークで1GBのデータを転送したら、おおよそ13分程度になる想定です。
10Mbps = 1.25MB/秒 = 0.00125GB/秒
1G ÷ 0.00125GB/秒 = 800(秒) ≒ 13.3(分)

もしここで遅い様であれば、(図40-1)でいう②の箇所に遅い原因がある等の一次切り分けが可能と考えます。

(※注意)
クライアントマシンを介してデータを転送してしまうと、クライアントのメモリ等リソースを使い転送するため、正しい転送速度の検証ができません。リモートデスクトップ経由でサーバーにアクセスすれば、データ転送にはサーバーのメモリが使用されるため、正しい検証が行えます。

(図40-2) NG例:クライアントを介してデータを転送している

(図40-3) OK例:サーバにRDPでアクセスし、そこからデータ転送を実施

目次にもどる

(2-2) LANケーブルを確認する

例えPCが高性能でも、正しいLANケーブルを使用していない事がネットワーク遅延の原因となることもあります。LANケーブルには規格があり、CAT5やCAT6といった種類により速度も異なってきます。どの種類がどういった用途に適しているのかは、下記のSo-netさんのサイトで詳しく紹介されています。
https://prebell.so-net.ne.jp/tips/pre_17112101.html

ご自身のLANケーブルの種類は、ケーブルに書かれた記載をチェックする事で知ることができます。

目次にもどる

(2-3) パフォーマンスモニタでメモリを確認する

次に(図40-1)の③部分をチェックする観点を考えます。こちらは一案としてパフォーマンスモニタ等でCPUやメモリ等のリソースをチェックしていきます。例えば、ページフォルトをチェックし、その件数が突出して多い場合はメモリ不足を疑います。

1.パフォーマンスモニタ(perfmon.exe)を起動する

2.データコレクターセットの新規作成

[データコレクターセット]→[ユーザー定義]を右クリック→[新規作成]→[データコレクターセット]を選択します。

3.データコレクターセットの名前と作成方法

名前を入力し、作成方法を選択します。今回はカウンターを自分で選びたいので「手動で作成する」を選択します。

4.含めるデータの種類の選択

[データ ログを作成する]→[パフォーマンスカウンタ]パチェックを入れます。

5.記録するカウンターの追加

[追加]を押下し、カウンターを選択します。

次のカウンター選択画面では左上のリストから見たいカウンターを選択し、[追加]を押下して右側に追加していきます。追加が終わったら右下の[OK]を押下します。今回はメモリを中心に下記のカウンターをウォッチします。

Memory Available MBytes 利用可能なメモリ領域(メモリの余裕)を表します。一般的に5%以下だとボトルネックと判断するそうです。
Memory Pages Faults/Sec 1秒あたりに発生したページフォルトの回数です。こちらも継続的に5以上だとメモリに問題があると判断するようです。
Memory Pages/Sec 1秒あたりに行われたページングの回数です。ページングは少ない方が健全で、多い場合は物理メモリの不足が疑われます。
Physical Disk Disk Read Bytes/sec 読み込み中のディスクへのバイト転送速度
Physical Disk Disk Write Bytes/sec 書き込み中のディスクへのバイト転送速度

記録するカウンターの画面に戻ったら[完了]を押下します。

6.記録の開始

パフォーマンスモニタの画面に戻ったら、追加したデータコレクターを「右クリック」して[開始]を押下します。これにより、カウンターの記録が始まります。同様に終了する時も「右クリック」で[停止]を選択します。

7.生成されたファイルの確認

出来上がりのモニタ結果の保存先は画面に書かれているので、そのパスに行きファイルをチェックします。

(保存先例)
C:\PerfLogs\Admin\Test New Data Collector Set\

目次にもどる

(3) 用語の解説

(3-1) ページフォルトとは?

要求したデータが物理メモリ上に存在せずにアクセスできなかった例外などを「ページフォルト」と呼びます。こちらも継続的に5以上の値で推移する場合にメモリに問題があると判断するようです。

目次にもどる

(3-2) 仮想メモリとは?

ディスクの一部をメモリとして利用する際に、ディスク上に作成されるファイルの事です。別名で「ページングファイル」とも呼びます。

PCは物理メモリが不足した場合に、使用していないデータを仮想メモリに一時的に退避することで、動作が重くなるのを防いでいます。このようなデータの退避や再度物理メモリに移動する往復を「ページング」と呼びます。

ただし、注意点としてディスクI/Oが発生するため、物理メモリに比べると速度が遅くなります。近年のPCでは物理メモリを十分に積んでるため、そもそも仮想メモリを使うケースも減ってきているようです。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-ネットワーク (Network)

執筆者:


  1. ネコ先輩 より:

    画面付きでとても参考になりました。ありがとうございます。
    2-1転送速度チェック部分は10Mbps=1.25MB秒なのでざっくり13分位かと思います。

    • RainbowEngine より:

      貴重なフィードバックを頂きありがとうございます。また確認およびご返信が遅れ申し訳ございませんでした。

      本件、ご指摘頂いた通り計算が1桁ずれていたので修正いたしました。

      また参考になったとのコメントを頂き、大変励みにもなります。
      ありがとうございます。

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

SOAP通信の仕組みやHTTPプロトコルとの違いなど

  <目次> (1) SOAP通信の仕組みやHTTPプロトコルとの違いなど  (1-1) SOAPとは?  (1-2) SOAPを構成する要素  (1-3) SOAPの通信の仕組み&HTTP …

FTP・FTPS・SFTPの違いや特徴について

FTP・FTPS・SFTPの違いや特徴について <目次> (1) FTPについて  (1-1) FTPの概要と仕組み  (1-2) FTPのセキュリティ面について  (1-3) ファイアウォール設定 …

DNATとSNATの違いやそれぞれの特徴について

  <目次> (1) DNATとSNATの違いやそれぞれの特徴について  (1-1) NATとは?  (1-2) SNATとは?  (1-3) DNATとは?  (1-4) 両者の違い(比較 …

Proxyの基本知識と確認コマンド~OSやブラウザ別の設定について

(0)目次&概説 (1) 記事の目的 (2) プロキシの基礎知識  (2-1) プロキシとは?  (2-2) なぜプロキシが必要?   (2-2-1) 特定コンテンツの許可(OUT)   (2-2-2 …

HTTPレスポンスの構造や各ヘッダーの概要について

<目次> (1) HTTPレスポンスの構造や各ヘッダーの概要について  (1-1) HTTPレスポンスの構造  (1-2) HTTPレスポンス行について  (1-3) HTTPレスポンスの各部分の概要 …

  • English (United States)
  • 日本語
Top