インターネットでコンピューターの世界が広がります。

踊るびあほりっく

ネット回線

【実践編】通信速度(Mbps)を自動的に測定する方法&Excelでグラフ化する方法

投稿日:

 

 

【v6プラス】無料オプションで爆速に!「遅い」「重い」を解決するおすすめのネット回線(プロバイダ)&ルーター

遅いネット回線はv6プラスにより無料で解決しましょう。2018年現在のv6プラス対応のネット回線(プロバイダ)&ルーターをまとめました。

続きを見る

 

【実践編】通信速度を自動測定してグラフ化する方法

この記事では、

  • インターネットの通信速度を自動測定する方法(グラフ化含む)

をまとめました。

 

速度測定サイトにその都度Webアクセスしていちいち測定しなくてもよくなるので、速度管理がとっても楽チンです。

 

【事前準備】速度測定用フォルダーの作成

まずは速度測定を行うためのフォルダーをパソコン上に作成しておきます

 

フォルダーはデスクトップ上に作っても良いのですが、ここではCドライブ直下に作成する手順としています。

 

(Cドライブを右クリックし、メニューから[新規作成]-[フォルダー]を選択する)

Cドライブを右クリックし、メニューから[新規作成]-[フォルダー]を選択する

 

(「新しいフォルダー」を任意の名前に変更する)

「新しいフォルダー」を任意の名前に変更する

 

(ここでは「speedtest」という名前に変更する)

ここでは「speedtest」という名前に変更する

 

以上で事前準備は完了です。

 

【Step1】速度測定用ツール(wget)のダウンロード

速度測定用のツールをインターネット上からダウンロードします

 

今回使うのはwgetという、システムエンジニアにとってはある種おなじみといえる通信ツールです。

 

もちろん無償利用が可能です

 

以下のリンクからwgetのダウンロードを行います。

 

 

(.exeファイル×1つ、.dllファイル×4つ)

.exeファイル×1つ、.dllファイル×4つ

 

上記スクリーンショット画像のように速度測定用フォルダーの中に、以下のファイル5つが存在することが確認出来たらOKです

  • wget.exe
  • libeay32.dll
  • libiconv2.dll
  • libintl3.dll
  • libssl32.dll

 

【Step2】速度測定用ツール(バッチファイル)の作成

上記でダウンロードしたwgetのコマンドを呼び出すバッチファイル(簡単なプログラム)を作成します*1

 

もしエクスプローラー上でファイル拡張子(.txtや.bat)が表示されていない場合は、以下のサイトを参考にファイル拡張子の表示設定を先にしておきましょう。

 

 

速度測定用フォルダーで右クリックし、メニューから[新規作成]-[テキスト ドキュメント]を選択する。

 

([新規作成]-[テキスト ドキュメント]を選択)

[新規作成]-[テキスト ドキュメント]を選択

 

「新しいテキスト ドキュメント.txt」を任意のバッチファイル名(ここではspeedtest.bat)に変更する。

  • 【変更前】新しいテキスト ドキュメント.txt
  • 【変更後】speedtest.bat

 

(新しいテキスト ドキュメント.txt)

新しいテキスト ドキュメント.txt

 

(speedtest.bat)

speedtest.bat

 

(バッチファイルを右クリックし、マウスメニューから[編集]を選択する)

バッチファイルを右クリックし、マウスメニューから[編集]を選択する

 

以下のソースコード3行をコピペしてバッチファイルを保存する。

【1行目】wget -O nul -a wget.log -T 20 -t 3 http://www.asahi-net.or.jp/~yh8n-wke/image/speed_imagec1.jpg

【2行目】findstr ^\/s) wget.log >> %date:~0,4%-%date:~5,2%-%date:~8,2%.log

【3行目】del wget.log

 

(speedtest.batの内容)

speedtest.batの内容

 

ちなみにwgetコマンドのオプションの意味はそれぞれ以下の通りです。

 

アクセス対象ファイルとタイムアウト設定値についてはカスタマイズの余地がありますが、*2こだわりがなければそのままで大丈夫です。

 

  • -O nul :ダウンロードしたファイルを破棄する(ディスクに保存しない)
  • -a wget.log :wget.logという実行結果のログファイルを作成する
  • -T 20 :ダウンロード処理のタイムアウト秒数は20秒とする
  • -t 3 :タイムアウト後のリトライは3回行う

 

バッチファイルをダブルクリックして手動実行し、ログファイルが速度測定用フォルダーに出力されることを確認する。

 

(バッチファイルをダブルクリックすると、ログファイルが出力される)

バッチファイルをダブルクリックすると、ログファイルが出力される

 

正常に動作すると、以下のような形式でログファイルが速度測定用フォルダーに出力されるはずです。

YYYY-MM-DD HH:mm:DD (xxx/s) - `nul' saved [xxxx/xxxx]

 

xxx/sの部分がダウンロード通信の実行速度を表していますが、bps(ビット単位)表記ではなくBps(バイト単位)表記なので注意が必要です

 

【Step3】速度測定の定刻タスクスケジューラ設定

作成したバッチファイルを10分おきに自動実行してくれるタスクスケジューラを設定します。

 

[windowsキー]+[R]キーの入力をして「ファイル名を指定して実行画面」を表示し、taskschd.msc」と入力してOKボタンをクリックする。

 

(taskschd.mscと入力してOKボタンをクリック)

taskschd.mscと入力してOKボタンをクリック

※「このタスクは管理者特権で作成されます」は表示されていなくても大丈夫です。

 

[タスクスケジューラライブラリ]を右クリックし、[基本タスクの作成]を選択する

 

([基本タスクの作成]を選択)

[基本タスクの作成]を選択

 

任意の基本タスク名(ここではspeedtest)を入力する。[説明]は空白のまま[次へ]ボタンをクリックする。

 

(任意の基本タスク名を入力)

任意の基本タスク名を入力

  • 名前: 任意(ここではspeedtest)
  • 説明: 空白

 

タスクトリガーのラジオボタンは[毎日]を選択し、[次へ]ボタンをクリックする。

 

(タスクトリガーのラジオボタンは[毎日]を選択)

タスクトリガーのラジオボタンは[毎日]を選択

 

任意の開始時間(未来)を設定し、[次へ]ボタンをクリックする。

 

(任意の開始時間を設定)

任意の開始時間を設定

  • タイムゾーン間で同期: チェックボックスOFF
  • 間隔: 1日

 

タスク操作のラジオボタンは[プログラムの開始]を選択し、[次へ]ボタンをクリックする。

 

(タスク操作のラジオボタンは[プログラムの開始]を選択)

タスク操作のラジオボタンは[プログラムの開始]を選択

 

プログラム/スクリプトには「cmd」を入力し、引数には速度測定用フォルダーやバッチファイルを指定して[次へ]ボタンをクリックする。

 

(プログラム/スクリプトには「cmd」を入力)

プログラム/スクリプトには「cmd」を入力

  • プログラム/スクリプト: cmd
  • 引数の追加: /c c:\speedtest\speedtest.bat
  • 開始: c:\speedtest

 

[完了をクリックしたとき~]のチェックボックスをONに設定し、[完了]ボタンをクリックする。

 

([完了をクリックしたとき~]のチェックボックスをONに設定)

[完了をクリックしたとき~]のチェックボックスをONに設定

 

全般タブの[ユーザーがログオンしているかどうかにかかわらず実行する]を選択し、トリガータブをクリックする。

 

([ユーザーがログオンしているかどうかにかかわらず実行する]を選択)

[ユーザーがログオンしているかどうかにかかわらず実行する]を選択

 

トリガーの繰り返し間隔と有効期限を設定し、[OK]ボタンをクリックする。

 

(トリガーの繰り返し間隔と有効期限を設定)

トリガーの繰り返し間隔と有効期限を設定

  • 遅延時間を指定する: チェックボックスOFF(デフォルト)
  • 繰り返し間隔: チェックボックスON(10分間)
  • 繰返継続時間: 1日間(デフォルト)
  • 繰り返し時間の最後に~: チェックボックスOFF(デフォルト)
  • 停止するまでの時間: チェックボックスOFF(デフォルト)
  • 有効期限: 任意
  • 有効: チェックボックスON(デフォルト)

 

設定したタスクのトリガーが正しいことを確認し、[OK]ボタンをクリックする。

 

(設定したタスクのトリガーを確認)

設定したタスクのトリガーを確認

 

登録した速度測定タスクを右クリックのメニューから実行します。

 

(速度測定タスクを右クリックのメニューから実行)

速度測定タスクを右クリックのメニューから実行

 

ログファイルに正常に追記されることを確認する。

 

(ログファイルに追記されることを確認)

ログファイルに追記されることを確認

 

以上でタスクスケジューラの設定は完了です。

 

画面による解説は長めですが所要時間はおよそ3分ほどで終わるでしょう。

 

【Step4】速度測定後のグラフ化

後は出力されたログファイル(YYYY-MM-DD.log)をExcelにコピー&ペーストし、煮るなり焼くなり好きにして通信速度の測定結果をグラフ化しましょう。

 

テキストファイルウィザードを使用するとデータの加工が楽になります。

 

Excelの[貼り付け]メニューから、[テキストファイルウィザードを使用]を選択する。

 

(テキストファイルウィザードを使用)

テキストファイルウィザードを使用

 

区切り文字は[スペース]のみを指定し、[完了]ボタンをクリックする

 

(区切り文字は[スペース]のみを指定)

区切り文字は[スペース]のみを指定

 

コピー&ペーストしたデータに対してExcelのVALUE関数やRIGHT関数等を駆使すると、文字列を数値化することが可能です

 

またログファイルにKB/sとMB/sが混在している場合やバイト表記をビット表記(Mbps)に直したい場合は、上記の文字列の数値化とはまた別途補正をしておく必要があります。

 

b(ビット)の8倍がB(バイト)でKBの1024倍がMBなので、それぞれ乗算することでMbps表記にすることが可能です

 

以下の数式や画像を参考にしてください。

 

【I2セル】=VALUE(RIGHT(C2,LEN(C2)-1))

【I2セル】=VALUE(RIGHT(C2,LEN(C2)-1))

 

【まとめ】完成したExcelグラフはこちら

wgetコマンドとWindowsタスクスケジューラを組み合わせて通信速度の測定結果をExcelでグラフ化したものがこちらになります。

 

測定結果をExcelでグラフ化

 

なかなか良くないですか?これで時間帯ごとの速度傾向が見れそうです。

 

これまで回線の通信速度測定(ベンチマーク)についてはいちいちWebブラウザでBNR測定ページにアクセスする必要があり面倒くさかったのですが、これならパソコンさえ起動しておけば自動で速度を測定してくれるため楽ちんです

 

*1:PowerShell使えばもっと多彩な事ができるのですが、セキュリティセットアップ等があって初心者向けではないため断念。

*2:一定時間内に処理が開始または完了しなかった場合にその処理を中止すること。

スポンサーリンク

-ネット回線

Copyright© 踊るびあほりっく , 2024 All Rights Reserved.