터미널을 통해 인터넷 속도를 확인하는 방법?


467

speedtest.net 과 같은 사이트로 이동하는 대신 우분투 터미널에서 현재 인터넷 속도를 확인하고 싶습니다. 내가 어떻게 해?


4
speedtest-cli를 통해 얻은 결과는 speedtest.net에서 얻는 결과와 크게 다릅니다. speedtest-cli 다운로드 18.27 Mbits / s 업로드 3.43 Mbits / s 업로드 test.net 다운로드 59.38 Mbits / s 업로드 12.14 Mbits / s speedtest-cli는 어떤 방식 으로든 유효한 네트워크 속도 테스트로 간주하십시오.

2
@ user375058 : speedtest-cliSpeedTest.net과 동일한 서버 등을 사용합니다. 다른 프론트 엔드와 함께 speedtest-cliand www.speedtest.net를 동등하게 고려해야합니다 . 둘 다 동일한 서버를 사용하는 경우 지속적으로 크게 다른 결과 를 얻는다면 놀랄 것 입니다. 동일한 서버를 사용하지 않으면 비교할 근거가 없습니다. 마지막으로 두 유틸리티 모두에 대한 결과는 실행마다 2 ~ 4 배씩 다릅니다. 2-4 개의 서버를 테스트하고 각 서버에 대해 3-4 개의 실행을 수행하고 도구를 비교하는 것이 좋습니다.
jvriesem

@ user375058 : 실제로 방금 제안한 것을 수행했습니다. 내 결과는 아래의 의견에있는 링크를 참조하십시오.
jvriesem

1
sudo apt install speedtest-cli
ColdCold

답변:


753

speedtest-cli 도구를 권장합니다 . 블로그 게시물 ( Linux Command Line에서 인터넷 연결 속도 측정)을 작성하여 다운로드, 설치 및 사용법에 대해 자세히 설명했습니다.

짧은 버전은 다음과 같습니다 (루트 필요 없음).

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 16.04 (Xenial) 이상에서는 다음을 사용하십시오.

sudo apt install speedtest-cli
speedtest-cli

2
제대로 작동하지 않는 것 같습니다. BT 무한대 50bBit down 및 20Mbit up입니다. 그러나 결과는 0.53Mbit 감소 및 0.2Mbit 증가로 나타납니다. 응? 소수점 이하 자릿수가 잘못 되었습니까? wget을 사용하면 4.27M / s (34Mbit) (일부 다른 서버)가 있습니까?
Piotr Kula

34
이미 언급 한 바와 같이 여기 : speedtest-CLI는 파이썬 응용 프로그램이기 때문에, 수행하여 설치가 매우 쉽다 pip install speedtest-cli 나 : easy_install speedtest-cli 파이썬이 시스템에 설치 방법에 따라, 당신은 위의 작업을 수행하려면 루트가 될 필요가있다.
CrandellWS

1
speedtest-cli가 손상되었는지 확인 . 1Mbps 이상의 속도는 표시하지 않습니다. 청구 할 때 정보를 전송하지 않습니다.
int_ua

5
이것은 정말로 받아 들여지는 대답이어야합니다 ... speedtest-cli는 저에게 잘 작동합니다. @int_ua에 호환성 문제 나 인터넷 문제가 있다고 생각하십시오.
peelman

2
이것이 정답이어야합니다. 속도 테스트는 다운로드 및 업로드를 의미합니다. 첫 번째 답변은 다운로드 속도 만 측정하며, 이는 인터넷 연결 속도의 전체 그림이 아닙니다. 특히 해당 머신에서 무언가를 호스팅하는 경우!
Emil Borconi

92

커맨드 라인에서 이것을 시도하십시오

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

이것도 시도

sourceforge.net/projects/tespeed/

위의 링크에서 가져 왔습니다


2
무엇을 /dev/null의미 하는지 설명해 주 시겠습니까?
natty에 대해 nutty

12
이 파일은 삭제 된 데이터를 기록하는
특집

2
파이썬 2.7.8이있는 Ubuntu 14.10에서 명령 wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zipspeedtset-cli나중에 사용 하는 것 보다 훨씬 잘 작동 하며 ^ C는 명령을 중단하지 못합니다. wget을 사용하면 ^ C
Willoczy에서

1
@mlissner, 두 번째 메가 바이트, 메가에서 1 속처럼 보이는 ..
vp_arth

1
@mlissner 1.5 x 8 = 12. 하나는 kbps이고 다른 하나는 KBps입니다 :-)
Tachyons

55

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

자세한 내용은


7
+1 iperf는 이더넷 및 WIFI 속도를 검증하는 데 환상적입니다
kfmfe04

1
iperfLAN에는 좋지만 사용자는 WAN에 대해 묻습니다.
IMTheNachoMan

34

잘 사용 wget합니다. 그 작은 도구는 내가 가진 속도를 잘 알려줍니다.

그것을 사용하려면 인터넷에서 파일을 가리키면 더 큰 견적을 얻을 수 있습니다.

예를 들어

입력 : wget http://hostve.com/neobuntu/pics/Ubu1.aviUbu1.avi 파일 다운로드를 시작하고 다운로드 속도를 보여줍니다.

여기에 이미지 설명을 입력하십시오

물론 몇 가지 권장 사항이 있습니다.

  1. 좋은 서버로 자신을 빠르게 테스트하십시오. 내 링크의 경우 속도가 200KB 미만이므로 속도가 더 빠르면 서버가 실제 속도가 아닌 병목 현상이 발생합니다.

  2. 가장 빠른 속도는 연결 및 서버 연결이 제공 할 수있는 최대 속도입니다. 연결이 512KB이고 다운로드중인 위치가 400KB 인 경우, 다운로드하는 서버의 최대 크기이므로 최대 연결은 400KB입니다.

  3. 신뢰할 수있는 속도 점검을 받거나 최소한 1-2 분 동안 수행하려면 테스트를 5 회 이상 수행해야합니다. 보다 정확한 검사를하는데 도움이됩니다.

  4. 보다 정확한 속도를 얻으려면 최소 4 개 또는 5 개의 서로 다른 테스트 소스가 있어야합니다. 거리가 멀거나 서버에 문제가 있거나 서버 연결에 영향을 줄 수 있으므로 같은 사이트에서만 테스트하지 마십시오. 항상 다른 서버에서 테스트하십시오.

ARIA2

이것은의 대안 wget입니다. 단점은 wget병렬 연결이 없다는 것입니다. aria2를 사용하려면 주먹을 다운로드해야합니다.

   sudo apt-get install aria2

사용하기 간단합니다 :

여기에 이미지 설명을 입력하십시오

이미지에서 -x 4 는 사용할 병렬 연결 수입니다. 다음 줄의 CN 매개 변수는 해당 사이트에서 다운로드 할 수있는 활성 병렬 연결 수를 보여줍니다. 이 경우 CN은 4입니다. 그러나 더 많은 연결을 시도하면 다음과 같은 결과가 나타납니다.

여기에 이미지 설명을 입력하십시오

병렬 연결을 8 개로 설정했지만 사이트는 CN : 5에 표시된 것처럼 최대 5 개만 허용했습니다. 이 문제 는 aria2c에 원하는 최대 동시 연결 수 (기본적으로 5 임)를 알려주 는 -j 옵션 으로 해결할 수 있지만 서버가이를 제한하면 -j가 작동하지 않습니다.


1
wget은 (아직) 여러 개의 병렬 연결을 사용하여 단일 파일을 다운로드하는 세그먼트 화 된 다운로드를 수행 할 수 없으므로 ISP가 1 개의 연결 당 속도를 제한하면 정확한 결과를 얻을 수 없습니다 ... 최소한 aria2와 같은 세그먼트 화 된 다운로드를 사용할 수있는 다른 도구를 사용하는보다 정확한 테스트가 될 것입니다
.

3
이것은 속도 테스트가 아니며 다운로드 속도 테스트입니다! 인터넷 속도 테스트는 다운로드를 의미합니다! 두 번째 답변과 speedtest-cli를 언급하는 다른 모든 사람들은 올바른 접근 방식을 가지고 있습니다.
Emil Borconi

1
@EmilBorconi 당신은 정확하지만 실제 생활에서, 우리는 여기서 인터넷 속도를 벤치마킹하지 않습니다. 이것은 speedtest와 같은 사이트가 필요하지 않은 가정 사용자의 평균 현재 속도 테스트입니다. 다운로드 속도 (병목 현상이 있는지 확인하려는 사람이면 충분)은 충분히 테스트 할 수 있습니다. 전체 다운 / 업 속도 테스트는 ISP에 기반한 전체 속도 범위를 확인합니다. 예, 이것이 가장 좋은 솔루션이지만 빠른 테스트 시나리오의 경우 간단한 wget조차도 일반적으로 사람들이 업로드보다 다운로드 속도에 대해 더 걱정하기 때문에 트릭을 수행합니다.
Luis Alvarado

1
@LuisAlvarado 내가 무례하게 들린다면 미안하지만, 사람들은 그들이 무엇을 묻는 지, 그리고 무엇이 받아 들여지는 답을 완전히 이해할 수 있어야한다고 생각합니다. 롯의 초보자는 포럼을보고 수락 된 답변을 가정 / 선택 / 중지하고 자신의 허위 이미지를 형성합니다. 그리고 네 다운로드마다 5 분마다 셀카를 올리는 페이스 북 미치광이가 아니라면 다운로드가 더 중요합니다. 그런 다음 다운로드를 테스트했기 때문에 ISP와 싸움을 시작하십시오. 내 목소리가 무례했다면 모욕하고 싶지 않았다 ...
Emil Borconi

1
내가 좋아하는 wget것보다 더 나은 curl이것에 대한 때문에 wget표시 MB/s하는 반면, (메가 바이트 / 초입니다 매우 분명) curl만 표시합니다 k(이 킬로바이트 / s의 것을 매우 명확하지 않다).
wisbucky

19

speedtest-cli는 python 응용 프로그램이므로 다음을 수행하여 설치하기가 훨씬 쉽습니다.

pip install speedtest-cli

또는:

easy_install speedtest-cli

시스템에 Python이 설치되는 방법에 따라 위의 작업을 수행하기 위해 루트 여야합니다.


7

speedometer우분투 클리닉 을 좋아합니다 .

speedometer -r eth0

들어오는 데이터 속도의 실시간 그래프를 볼 수 있습니다.


그게 실제로 내가 찾고 있던 것입니다! 감사! 그러나 나는 그것이 Kb 또는 KB가 아닌 Kib에서 속도를 보여주는 것을 좋아하지 않습니다
redbeam_

3

큰 파일에서 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 초를 나누는 스크립트를 작성하여 바이트 / 초 수치를 얻습니다. 상당히 정확해야하며 대역폭을 최대화하기 위해 인스턴스를 더 추가 할 수 있습니다.

전체 스크립트를 아직 테스트하지는 않았지만 한 줄 명령 "timeout 5 wget url"이 작동하고 결과적으로 부분적으로 다운로드 된 파일을 얻게됩니다 (5 초가 충분하지 않아 다운로드를 완료 할 수없는 경우).


이것은 일부 서버 설정이 필요합니다 ...
Braiam

url_1,2,3,4는 공용 서버와 같은 모든 것이 될 수 있습니다.
rexis

예를 들어 timeout 5 wget http://speedtest.netcologne.de/test_100mb.bin -O /tmp/temp5sec, 파일 크기를 분석하고 5를 기준으로 분석 : expr $(stat --printf="%s" /tmp/temp5sec) / 5 / 1024in kbit / s
rubo77

3

사용할 수 있습니다 tespeed. 의 서버를 사용하는 터미널 네트워크 속도 테스트입니다 Speedtest.net. 가장 가까운 테스트 서버를 사용하지만 사용자가 수동으로 지정한 서버를 사용할 수도 있습니다.

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

여기에 이미지 설명을 입력하십시오

더 많은 정보를 원하시면 :

 ./tespeed.py  -h

속도 테스트를위한 더 많은 옵션을 제공합니다.


참고 : 요구 사항lxml
Matt

2

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

이것은 상태 비 저장 읽기 전용 rootFS에서 테스트 wget하고 속도를 출력하지 않았을 때 효과적 이었습니다.
Josh Habdas

2

@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

하나 빼기-다른 언어를 영어로 사용하면 어떨까요? 참조 : grep :) part
ceph3us

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 초당 기본 바이트 수 (Bps) 대신 wget 다운로드 속도 평균을 초당 비트 (bps)로 표시합니다.



0

나는 speedtest.net보다 더 진보 된 것을 원했고 하나의 웹 사이트에만 의존하는 다양한 솔루션을 원했습니다. 그래서 나는 평소에하는 일을하고 내 자신의 해결책을 썼습니다 :

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

기능 목록에서 :

  • SSH / SFTP (포트 22) 속도 테스트.
  • 최대 2.2Gbps 다운 및 780Mbps 업 속도를 지원하는 사용자 지정 TCP / IP 서버를 사용한 임의의 TCP 포트 속도 테스트는 물론 일반적인 TCP 포트 80, 443 및 8080.
  • 상당히 기본적인 네트워크 대기 시간 테스트.
  • Digital Ocean 드롭 릿을 가동시키고 SSH / SFTP 및 다양한 TCP 포트의 속도를 테스트하십시오.
  • Speedtest.net 및 맞춤형 OoklaServer 속도 테스트. single.speedtest.net에서 단일 연결 테스트와 유사한 결과를 생성합니다.
  • 자동 모드 (-s)의 순수 JSON 출력.

다른 응용 프로그램에서 사용할 수있는보다 일반적인 솔루션입니다. SFTP 다운 스트림 속도가 두 배로 증가하여 행복이 향상되는 ISP 네트워크 문제를 정확히 찾아 낼 수있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.