Rainbow Planet (GT×IT×SP×SA)

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

01_IT技術 (Technology)

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

投稿日:

(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のデータを転送したら、おおよそ80秒程度になる想定です。
10Mbps = 12.5MB/秒 = 0.0125GB/秒
1G ÷ 0.0125GB/秒 = 80(秒) 

もしここで遅い様であれば、(図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審査用広告コード


-01_IT技術 (Technology)

執筆者:


comment

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

関連記事

システム開発におけるデータモデリングの方法とER図描画ツール紹介

(0)目次&概説 (1) 項目を洗い出す  (1-1) 現行システムが存在する場合  (1-2) 新規システムを開発する場合 (2) エンティティを定義する  (2-1) エンティティの作成  (2- …

VBAによるマトリクスの行列を反転させて転記するプログラム

(0)目次&概説 (1) マクロ概要 (2) 使用方法 (3) アルゴリズム概要 (4) プログラム (1) マクロ概要 マトリクス形式で表現されたデータの行と列を入れ替えるプログラムです。 (※Ex …

Linuxのテキスト入力で日本語が文字化けした時の対処法と解説

Linuxのテキスト入力等で日本語が文字化けした時の対処方法を紹介します。 (0)目次&概説 (1) 障害・不具合の概要 (2) 文字化けの対処法 (3) 解説(文字コードについて) (1) 障害・不 …

さくらVPS(Linux)にリモートデスクトップ環境を構築する方法

Linuxのサーバーにリモートデスクトップ環境を構築する手順について解説します。 <目次> >0.背景・目的・前提条件 >1.VNCサーバのインストール >2.VNCサーバの設定ファイル編集 >3.V …

Linux:定期的に再起動するスクリプト

Linuxサーバーを定期的に再起動するスクリプトを紹介します。定期的に再起動するという処理はシステム構築においては、運用の中で定義される「死活監視」に関連してくる話になります。 ●シェルとは?シェルス …

Top