web-dev-qa-db-ja.com

ターミナル経由でインターネット速度を確認する方法は?

speedtest.net のようなサイトに行く代わりに、Ubuntuのターミナルから現在のインターネット速度を確認したい。どうすればいいですか?

460
kernel_panic

これには speedtest-cli ツールをお勧めします。ダウンロード、インストール、および使用の詳細を説明するブログ投稿( Linuxコマンドラインからのインターネット接続速度の測定 )を作成しました。

短いバージョンは次のとおりです:(ルートは不要)

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

出力:

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Comcast Cable (x.x.x.x)...
Selecting best server based on ping...
Hosted by FiberCloud, Inc (Seattle, WA) [12.03 km]: 44.028 ms
Testing download speed........................................
Download: 32.29 Mbit/s
Testing upload speed..................................................
Upload: 5.18 Mbit/s

2018年の更新:

pip install --user speedtest-cliを使用すると、おそらくディストリビューションのリポジトリから利用可能なバージョンよりも新しいバージョンが取得されます。

2016年の更新:

speedtest-cliは現在Ubuntuリポジトリにあります。 Ubuntu 16.04(Xenial)以降の場合:

Sudo apt install speedtest-cli
speedtest-cli
738
mweisel

コマンドラインでこれを試してください

wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.Zip

これも試してください

sourceforge.net/projects/tespeed/

上記のリンクから入手した

91
Tachyons

Iperfをインストールするのが面倒な場合は、timeコマンドを使用して既知の量のデータをシフトするコマンドの前に、合計を実行できます。

iperfはシンプルで使いやすいです。

クライアントとサーバーが必要です。

(サーバー上)

 user@server$ iperf -s

(クライアント上)

 user@client$ iperf -c server.domain
 ------------------------------------------------------------
 Client connecting to 192.168.1.1, TCP port 5001
 TCP window size: 16.0 KByte (default)
 ------------------------------------------------------------
 [  3] local 192.168.1.3 port 52143 connected with 192.168.1.1 port 5001
 [ ID] Interval       Transfer     Bandwidth
 [  3]  0.0-10.0 sec    113 MBytes  94.7 Mbits/sec

詳細

55
One Zero

wgetを使用します。その小さなツールは私が持っている速度をうまく教えてくれます。

これを使用するには、インターネット上の比較的大きなファイルをポイントするだけで、より適切な推定値を取得できます。

例えば

次のように入力すると、wget http://hostve.com/neobuntu/pics/Ubu1.aviはUbu1.aviファイルのダウンロードを開始し、ダウンロード速度を表示します。

enter image description here

もちろん、いくつかの推奨事項があります。

  1. 優れたサーバーを使用して速度テストを行ってください。私のリンクの場合、速度は200KB未満であるため、速度が速い場合は、実際の速度ではなくサーバーがボトルネックになります。

  2. 表示される最高速度は、接続とサーバーの接続が提供できる最高速度です。接続が512KBで、ダウンロードする場所が400KBの場合、ダウンロード元のサーバーの最大接続であるため、最大接続は400KBになります。

  3. 信頼性の高い速度チェックを行うには、少なくとも5回テストを行うか、少なくとも1〜2分間テストを行う必要があります。これにより、より正確なチェックが可能になります。

  4. より正確な速度を得るには、少なくとも4つまたは5つの異なるテストソースが必要です。同じサイトからのみテストしないでください。これは、距離、サーバーの問題、サーバーへの接続などの影響を受ける可能性があるためです。常に異なるサーバーからテストしてください。

ARIA2

これはwgetの代替です。 wgetの欠点は、並列接続がないことです。 aria2を使用するには、まずダウンロードする必要があります:

   Sudo apt-get install aria2

使い方は簡単です:

enter image description here

イメージでは、--x 4は、使用する並列接続の数です。次の行のCNパラメーターは、そのサイトからダウンロードできるアクティブな並列接続の数を示しています。この場合、CNは4です。しかし、さらに接続しようとすると、次のような結果になります。

enter image description here

8つの並列接続を設定しましたが、CN:5に示されているように、サイトでは最大5つしか許可されていません。これは-jオプションで解決できます。これはaria2cに必要な最大同時接続数を通知します(デフォルトでは5)が、サーバーがこれを制限している場合、-jは機能しません。

34
Luis Alvarado

Speedtest-cliはpythonアプリケーションであるため、以下を実行するとインストールがはるかに簡単になります。

pip install speedtest-cli

または:

easy_install speedtest-cli

システムへのPythonのインストール方法によっては、上記を実行するにはrootになる必要があります。

18
BobC

私はspeedometer Ubuntu cliが好きです。

speedometer -r eth0

着信データ速度のライブグラフを見るため。

7
6ft Dan

大きなファイルでtimeoutコマンドを使用してwgetのいくつかのインスタンスを実行します。

#!/bin/bash

timeout 5 wget -q url_1/100MB.Zip &
timeout 5 wget -q url_2/file.Zip &
timeout 5 wget -q url_3/sample.mov &
timeout 5 wget -q url_4/speech.mp4 &

次に、ダウンロードした合計バイト数を計算するスクリプトを作成し、5秒に分割すると、バイト/秒の数値が得られます。非常に正確でなければならず、帯域幅を最大化するためにインスタンスを追加できます。

私はまだ完全なスクリプトをテストしていませんが、1行のコマンド「timeout 5 wget url」が機能し、結果として部分的にダウンロードされたファイルを取得します(5秒ではダウンロードを完了できない場合)。

3
rexis

tespeedを使用できます。 Speedtest.netのサーバーを使用するターミナルネットワーク速度テストです。最も近いテストサーバーを使用しますが、ユーザーが手動で指定したサーバーも使用できます。

 git clone git://github.com/Janhouse/tespeed.git
 cd tespeed
 git submodule init
 git submodule update
 ./tespeed.py 

enter image description here

詳細情報の使用:

 ./tespeed.py  -h

速度テストのオプションが増えます。

3
pl_rock

@rexis回答に基づくシンプルなbashスクリプト。テスト用の独自のリンクをlinks配列に入れるか、ファイルから読み取ることができます

#!/bin/bash
export LC_ALL=C  #make output in English eg for later use with "du | grep"

TMP_PATH=/tmp/speedtest_data/
TEST_TIME=5

rm -rf $TMP_PATH && mkdir $TMP_PATH

links=("http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-2b.bin" "http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-1b.bin" "http://client.cdn.gamigo.com/bp/eu/com/110a/BPClientSetup-1c.bin" "http://ftp.ntua.gr/pub/linux/ubuntu-releases-dvd/quantal/release/ubuntu-12.10-server-armhf+omap.img" "http://ftp.funet.fi/pub/Linux/INSTALL/Ubuntu/dvd-releases/releases/12.10/release/ubuntu-12.10-server-armhf+omap.img" "http://ftp.icm.edu.pl/pub/Linux/opensuse/distribution/13.2/iso/openSUSE-13.2-DVD-x86_64.iso")

echo "Testing download"

for link in ${links[*]}
do
    timeout $TEST_TIME wget -q -P $TMP_PATH $link &
done

wait

total_bytes=$(du -c -b $TMP_PATH | grep total | awk '{print $1}')

echo "Cleaning up"
rm -rf $TMP_PATH

speed=$(echo "scale=2; $total_bytes / $TEST_TIME / 128" |bc)

echo "Speed is $speed Mbit/s"

exit 0
2
Darkside

1秒あたりのビット数でダウンロード速度を簡単に取得するために、$ HOME/.bash_aliasesファイルで以下を定義します。

speed-test='wget --output-document=/dev/null --report-speed=bits http://speedtest.wdc01.softlayer.com/downloads/test500.Zip'

どこ:

--output-document=/dev/nullは、wget出力を効果的に破棄します

--report-speed=bitsは、デフォルトの1秒あたりのバイト数(Bps)ではなく、wgetのダウンロード速度の平均を1秒あたりのビット数(bps)で表示します

1
trellem

100MBのダウンロードにかかる時間をテストするシンプルなワンライナー(/bin/shでも動作します):

t=$(date +"%s"); wget http://speedtest.tele2.net/100MB.Zip -O ->/dev/null ; echo -n "MBit/s: "; expr 8 \* 100 / $(($(date +"%s")-$t))

説明:

  1. タイムスタンプを$ tに保存します
  2. 100MBをダウンロードするが、何も保存しない
  3. 8 * 100mb / $tを計算します
1
rubo77

http://dl.getipaddr.net を試すこともできます

Curl(よく知られているコマンドラインユーティリティ)を使用して速度テストを実行します。

要するに

wget https://raw.github.com/blackdotsh/curl-speedtest/master/speedtest.sh && chmod u + x speedtest.sh && bash speedtest.sh

0
user385795

私は、speedtest.netや単一のWebサイトのみに依存するさまざまなソリューションよりも高度なものが必要でした。だから私は普段やっていることをして、自分の解決策を書いた。

https://github.com/cubiclesoft/network-speedtest-cli

機能リストから:

  • SSH/SFTP(ポート22)速度テスト。
  • 一般的なTCPポート80、443、8080、および最大2.2 Gbpsの速度と780 Mbpsの速度をサポートするカスタムTCP/IPサーバーを使用したランダムTCPポート速度テスト。
  • かなり基本的なネットワーク遅延テスト。
  • Digital Oceanドロップレットをスピンアップし、SSH/SFTPおよびさまざまなTCPポートを速度テストします。
  • Speedtest.netおよびカスタムOoklaServer速度テスト。 single.speedtest.netでの単一接続テストと同様の結果を生成します。
  • サイレントモードでの純粋なJSON出力(-s)。

他のアプリケーションで使用できる、より一般的なソリューションです。 ISPネットワークの問題を特定して、SFTPのダウンストリーム速度を2倍にし、幸福感を高めました。

0
CubicleSoft