ぼくのデジタルライフ

ただのガジェット好きがダラダラ書いていくブログ

CentOSでCLIからインターネット速度を測定する

f:id:computer-life:20180829212228j:plain

久々にVPS借りてLinuxを使ってみたので、その時のおぼえがきです。

CLIで測定できるツールないかなぁと思ってたところに「speedtest-cli」という良さそうなツールを発見。今回はこれをインストールしていきます。

CentOSを使いましたが、他のLinuxでも同じような手順でできるみたいです。

easy_installのインストール

Pythonのモジュール管理に使うやつです。入れていなかったので入れておきます。インストール済みの人は読み飛ばしてOKです。

# sudo yum install python-setuptools

speedtest-cliのインストール

 # sudo easy_install speedtest-cli

これでOK。

実行

speedtest」と打てば実行できます。

# speedtest
Retrieving speedtest.net configuration...
Testing from NTTPC Communications,Inc (IP Address)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by OPEN Project (via 20G SINET) (Tokyo) [29.32 km]: 3.522 ms
Testing download speed................................................................................
Download: 95.60 Mbit/s
Testing upload speed................................................................................................
Upload: 96.74 Mbit/s

やっぱ共用サーバーでは上り下りとも毎回スピードが変化しますね

オプション

ログを最小限にしたいとき

--simple」を使うと、ログを最小限に省略できます。ログが、ダーってならなくてスッキリするのでおすすめ。

 # speedtest-cli --simple
Ping: 4.388 ms
Download: 45.85 Mbit/s
Upload: 104.21 Mbit/s

 テストサーバーを探したいとき

--list」を使うとテストサーバーを指定できます。日本のテストサーバーに絞り込みたいときは「--list | grep Japan」とすることで日本のものだけ表示されます。左側に表示されている数字がサーバーIDです。

 # speedtest --list | grep Japan

6492) denpa893 (Sumida, Japan) [20.01 km]
14623) IPA CyberLab (Bunkyo, Japan) [23.67 km]
7139) SoftEther Corporation (Tsukuba, Japan) [23.88 km]
15047) OPEN Project (via 20G SINET) (Tokyo, Japan) [29.32 km]
15977) Speedtest.net (Tokyo, Japan) [29.32 km]
15757) Speedtest.net (Tokyo, Japan) [30.34 km]
18838) BGP Network (Tokyo, Japan) [30.34 km]
19256) Love4Taylor (Tokyo, Japan) [30.34 km]
6508) at2wn (Yokohama, Japan) [52.48 km]
6087) Allied Telesis Capital Corporation (Fussa-shi, Japan) [57.84 km]
8407) Allied Telesis Capital Corporation (Sagamihara, Japan) [60.75 km]
14515) CanopusAzusa (Nagaoka, Japan) [204.64 km]
14840) poteitoo (Nagoya, Japan) [285.97 km]
6766) JAIST(ino-lab) (Nomi, Japan) [314.26 km]
6368) gatolabo (Maibara, Japan) [337.64 km]
6476) rxy (individual) (Osaka, Japan) [424.30 km]
8832) prize3046 (Ikeda, Japan) [426.33 km]
6405) Allied Telesis Capital Corporation (Misawa, Japan) [552.75 km]
18709) extride inc (Hitoyoshi, Japan) [938.24 km]
811) GLBB Japan KK (Chatan, Japan) [1568.91 km]
6581) haza (Haebaru, Japan) [1581.53 km]

テストサーバーを指定したいとき

--server」を使うと、テストサーバーをサーバーIDを指定してテストできます。例として情報処理推進機構IPA CyberLab)さんのテストサーバーを使用してみます。サーバーIDは「14623」なのでこんな感じになります。

 # speedtest-cli --server 14623

Retrieving speedtest.net configuration...
Testing from NTTPC Communications,Inc (IP Address)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by IPA CyberLab (Bunkyo) [23.67 km]: 4.84 ms
Testing download speed................................................................................
Download: 94.78 Mbit/s
Testing upload speed................................................................................................
Upload: 76.09 Mbit/s

他のオプションを見る

他のオプションは「-h」を使うと見れます。他にもたくさんオプションがあるみたいです。

# speedtest -h

usage: speedtest [-h] [--no-download] [--no-upload] [--bytes] [--share]
[--simple] [--csv] [--csv-delimiter CSV_DELIMITER]
[--csv-header] [--json] [--list] [--server SERVER]
[--exclude EXCLUDE] [--mini MINI] [--source SOURCE]
[--timeout TIMEOUT] [--secure] [--no-pre-allocate]
[--version]

Command line interface for testing internet bandwidth using speedtest.net.
--------------------------------------------------------------------------
https://github.com/sivel/speedtest-cli

optional arguments:
-h, --help show this help message and exit
--no-download Do not perform download test
--no-upload Do not perform upload test
--bytes Display values in bytes instead of bits. Does not
affect the image generated by --share, nor output from
--json or --csv
--share Generate and provide a URL to the speedtest.net share
results image, not displayed with --csv
--simple Suppress verbose output, only show basic information
--csv Suppress verbose output, only show basic information
in CSV format. Speeds listed in bit/s and not affected
by --bytes
--csv-delimiter CSV_DELIMITER
Single character delimiter to use in CSV output.
Default ","
--csv-header Print CSV headers
--json Suppress verbose output, only show basic information
in JSON format. Speeds listed in bit/s and not
affected by --bytes
--list Display a list of speedtest.net servers sorted by
distance
--server SERVER Specify a server ID to test against. Can be supplied
multiple times
--exclude EXCLUDE Exclude a server from selection. Can be supplied
multiple times
--mini MINI URL of the Speedtest Mini server
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 10
--secure Use HTTPS instead of HTTP when communicating with
speedtest.net operated servers
--no-pre-allocate Do not pre allocate upload data. Pre allocation is
enabled by default to improve upload performance. To
support systems with insufficient memory, use this
option to avoid a MemoryError
--version Show the version number and exit

 参考になれば幸いです。