個人事業主や中小零細企業の方向けにITに関する話題をお届けします

Wi-Fiが遅い?じゃあ実際に測ってみよう!

black smartphone

皆さんのオフィスのWi-Fiは快適に使えているでしょうか?速度改善は必要になっていませんか?

特に困ってないよ!という方はこの記事は読み飛ばしていただいて、「場所によって遅くなる。」とか「ダウンロードする速さがあまり安定しない。」という場合は、Wi-Fiの電波が十分に届いていないのかもしれません。

そういった場合、電波強度を見られるアプリやツールがあるので、そういったもので電波強度を測定してみるのも良いでしょう。専門の業者に依頼すれば、電波状況を計測してWi-Fiの速度改善の提案を行ってくれるところもあります。
ですが、仮に電波が弱くとも、スループットが必要十分に出ている場合もあります。そういった場合に業者に調査を依頼したり、Wi-Fiのアクセスポイントを増やしたりするのは無駄なコストとなってしまいます。

まずは必要なスループットが出ているのか、自分で簡単に調べてみましょう。

測定環境

測定には2台のPCを使用します。

1台はノートPCにしておくと、色々な場所に移動して測定できるので便利です。ただしなるべく新しいWi-Fi規格に対応したPCを使用しましょう。

もう1台はノートでもデスクトップでもいいでしょう。こちらはWi-Fiのアクセスポイントに近い場所に有線接続するのがいいでしょう。家庭向けWi-Fiルーターの場合は、Wi-Fiルーターの有線LANに接続します。
ただこれも環境によりけりで、Wi-Fiの規格は最新のものに対応して1Gbps以上のスループットがあるのに、有線LANのポートが1GbpsのEthernetポートしかない、といったPCは多いです。また、Wi-Fiルーターでも同様の機種もたくさんあります。このような場合は有線LANの方がボトルネックになってしまうので、ケースバイケースで判断してください。

2台ともWi-Fiで接続する場合は、片方はアクセスポイントのすぐ近くに置いて、Wi-Fiの電波強度の影響を最小限にしましょう。

測定ツール

測定ツールで一般的によく使われるものとして、以下のものが良いと思います。

  • Windows同士またはWindowsとLinuxの場合:ntttcp
  • Linux同士の場合:iperf3

ntttcpはMicrosoftが提供しているネットワークベンチマークツールで、Linux版のソースコードも提供されています。Linuxではこのソースコードをコンパイルして使用します。

iperf3はLinuxに詳しい方はご存知かもしれません。iperf3もWindows版はあるので、それじゃダメなの?と思うかもしれません。ですが、Windows版のiperfはWindowsのネイティブAPIで動作しておらず、性能が正しく測れない可能性があることから、Microsoftは推奨していません。

WindowsとLinuxの間で測定する場合は、ntttcpを使用するようにしましょう。

以下ではntttcpを使用した方法を解説します。

ntttcpのインストール

Windows

ntttcpの最新バージョンを以下のURLからダウンロードします。

ntttcp.exeとntttcp_arm64.exeがあります。通常は前者、ARMプロセッサーを使用している機種は後者をダウンロードします。

ダウンロードしたものは、C¥tools¥以下など適当な場所に配置しましょう。

Linux

Linuxの場合はちょっと手順が多いです。以下Ubuntuの場合の手順を示します。

まずコンパイルに必要なツールをインストールします。

sudo apt-get update
sudo apt-get -y install build-essential
sudo apt-get -y install git

GitHubからcloneしてコンパイルし、インストールします。

git clone https://github.com/Microsoft/ntttcp-for-linux
cd ntttcp-for-linux/src
sudo make && sudo make install

測定方法

2台のPCのうち、1台を受信側、もう一方を送信側にします。これは測定の都合で決めて構いません。

まず受信側PCで次のようなコマンドを実行します。

ntttcp -r -m 4,*,192.168.0.1 -t 60

受信側の準備ができたら、今度は送信側で次のようなコマンドを実行します。

ntttcp -s -m 4,*,192.168.0.1 -t 60

各パラメータの意味ですが、以下のようになっています。適宜自身の環境に応じて書き換えてください。

  • -r : 受信側として起動。
  • -s : 送信側として起動。
  • -m : コンマ区切りで3つのパラメータを指定。1つ目がスレッド数、2つ目がCPU ID、3つ目が受信側PCのIPアドレス。スレッド数はCPUコア数に応じて調整します。CPU IDは*の場合は任意のものを使用することになります。
  • -t : テストの実行時間を秒数で指定します。

なお、送信、受信それぞれでWindows、Linuxを混在させる場合は、追加のパラメータが必要です。

  • -ns : 通信先がLinuxとなるWindows側で使用。
  • -N : 通信先がWindowsとなるLinux側で使用。

その他細かいパラメータはWindowsとLinuxでかなり違っています。詳しくは ntttcp -h でヘルプを見てみてください。

測定結果の例

この例では5分後に以下のような測定結果が出力されます。(Windowsの場合)

ntttcp -s -m 4,*,192.168.8.3 -t 60 -ns
Copyright Version 5.40
Network activity progressing...
Thread  Time(s) Throughput(KB/s) Avg B / Compl
======  ======= ================ =============
     0    0.000            0.000     65536.000
     1    0.000            0.000     65536.000
     2    0.000            0.000     65536.000
     3    0.000            0.000     65536.000
#####  Totals:  #####
   Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
      703.750000      60.001       1460.659           11.729
Throughput(Buffers/s) Cycles/Byte       Buffers
===================== =========== =============
              187.663      44.817     11260.000
DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
     7056.985         0.603       10128.577          0.420
Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
      505207           255309         180      0      5.521

測定結果の評価

測定結果より、Wi-Fiが実際にどれぐらいの性能が出ているかを把握することができます。
思ったよりもスループットが出ていない場合、Wi-Fiの電波強度も確認しつつ、アクセスポイントの増設や、アクセスポイントのアップグレードといった対応を検討していくことになります。

逆に、体感ではイマイチに思っていたものが、案外性能が出ているかもしれません。
その場合は、原因がWi-Fiではないのかもしれません。本当の原因は、その先のネットワーク(社内LANあるいはインターネット接続回線)にあるかもしれません。

ネットワークはこのように細かく見て切り分けて、原因を特定するのが重要です。

測定が大変だったり問題の解決が難しい場合は

その場合は専門の業者に測定や問題の解決を依頼しましょう。

弊社インターステラ株式会社でもネットワークのトラブルシューティングを行なっております。
お困りの場合は是非以下の問い合わせフォームからご相談ください。

PAGE TOP