Terminal üzerinden internet hızını nasıl kontrol edebilirim?

355

speedtest.net gibi sitelere gitmek yerine, mevcut İnternet hızımı Ubuntu'daki terminalden kontrol etmek istiyorum. Bunu nasıl yapabilirim?

    
sordu kernel_panic 16.02.2012 15:24

11 cevap

560

Bunun için speedtest-cli aracını öneririm. Bir blog yayını oluşturdum ( İnternet Bağlantı Hızını Ölçün Linux Komut Satırı ), indirme, yükleme ve kullanımının ayrıntılarına girer.

Kısa versiyon şudur: (root gerekli değil)

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

Çıktı:

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

2016'da güncelleyin:

speedtest-cli şimdi Ubuntu depolarında. Ubuntu 16.04 (Xenial) için ve daha sonra kullanın:

sudo apt install speedtest-cli
speedtest-cli
    
verilen cevap mweisel 19.03.2013 09:11
78

Bunu komut satırında deneyin

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

bunu da deneyin

sourceforge.net/projects/tespeed/

yukarıdaki bağlantıdan al

    
verilen cevap Tachyons 16.02.2012 15:57
46

iperf'i kurmaktan rahatsız olmazsanız, bilinen bir miktarda veriyi time komutuyla değiştiren ve toplamı yapan herhangi bir komutun önüne geçebilirsiniz.

iperf kullanımı basit ve kolaydır.

Bir istemci ve sunucu gerektirir.

(sunucuda)

 [email protected]$ iperf -s

(istemcide)

 [email protected]$ 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

Daha Fazla Ayrıntı

    
verilen cevap One Zero 16.02.2012 16:21
31

Bunun için wget kullanıyorum. O küçük alet bana ne kadar hızlı olduğumu söylüyor.

Bunu kullanmak için, internetteki bir dosyayı göreceli olarak daha büyük olacak, böylece daha iyi bir tahmin yapabilirsiniz.

Örneğin

yazarak: wget http://hostve.com/neobuntu/pics/Ubu1.avi Ubu1.avi dosyasını indirmeye başlar ve hangi hızda indirildiğini gösterir.

Elbette birkaç öneri var:

  1. Hız kendini iyi sunucularla test edin. Bağlantım söz konusu olduğunda hız 200KB'den azdır, dolayısıyla daha yüksek bir hızınız varsa, sunucu gerçek hızınızı değil, sizin için darboğaz olacaktır.

  2. Göreceğiniz en yüksek hız, bağlantınızın ve sunucunun bağlantısının sunabileceği maksimum hızdır. Bağlantınız 512KB ise ve indirdiğiniz yer 400 KB ise, maksimum bağlantınız 400KB olacaktır, çünkü indirdiğiniz sunucunun maksimum değeri olacaktır.

  3. Güvenilir bir hız kontrolüne sahip olmak veya en azından bir iki dakika boyunca yapmak için testi en az 5 defa yapmanız gerekir. Bu daha doğru bir çeke sahip olmanıza yardımcı olacaktır.

  4. Daha doğru bir hıza sahip olmak için en az 4 veya 5 farklı test kaynağına sahip olmanız gerekir. Asla sadece aynı siteden test etmeyin, bu durum sizin mesafenizden etkilenebilir, sunucudaki herhangi bir sorun ve ona olan bağlantılar, vs. Her zaman farklı sunuculardan test edin.

aria2

Bu% co_de yüzdesine bir alternatiftir. % Co_de% 'sinin dezavantajı paralel bağlantı olmamasıdır. Aria2 kullanmak için yumruk indirmemiz gerekiyor:

   sudo apt-get install aria2

Kullanmak için basit:

Resimde -x 4 , kullanmak istediğimiz kaç paralel bağlantıdır. Bir sonraki satırdaki CN parametresi, bu siteden kaç tane etkin paralel bağlantıya izin verildiğini gösterir. Bu durumda CN 4'tür. Fakat daha fazla bağlantıya sahip olsaydık böyle bir şey alırdık:

8 paralel bağlantı kurduk, ancak site yalnızca CN: 5 ile gösterildiği gibi maksimum 5'e izin verdi. Bu, aria2c'yi istediğimiz maksimum eşzamanlı bağlantılara (varsayılan olarak 5'tir) söyleyen -j seçeneği ile çözülebilirdi, ancak sunucu bunu kısıtladıysa, -j çalışmaz.

    
verilen cevap Luis Alvarado 16.02.2012 16:12
18

speedtest-cli bir python uygulaması olduğundan, aşağıdakileri yaparak yüklemek çok daha kolay:

pip install speedtest-cli

veya

easy_install speedtest-cli

Python'un sisteminize nasıl yüklendiğine bağlı olarak, yukarıdakileri yapmak için kök olmanız gerekebilir.

    
verilen cevap BobC 02.12.2013 16:06
5

speedometer Ubuntu klibini beğeniyorum.

speedometer -r eth0

Gelen veri hızlarının canlı grafiğini izlemek için.

    
verilen cevap 6ft Dan 02.09.2016 23:22
3

Büyük dosyalarda zaman aşımı komutuna sahip birkaç wget örneğini çalıştırın:

#!/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 &

Ve sonra indirilen toplam bayt hesaplamak için bir komut dosyası yazın ve bir bayt / sn rakamı elde edeceğiniz 5 saniyeye bölün. Oldukça doğru olmalı ve bant genişliğinizi maksimize etmek için daha fazla örnek ekleyebilirsiniz.

Tam komut dosyasını henüz test etmedim ama tek satırlı komut "timeout 5 wget url" çalışıyor ve sonuç olarak kısmen indirilmiş bir dosya elde edersiniz (eğer 5 saniye indirme işlemini tamamlamak için yeterli değilse).

    
verilen cevap rexis 20.09.2013 04:29
3

tespeed 'yi kullanabilirsiniz. sunucuları Speedtest.net sunucusundan kullanan bir Terminal ağ hızı sınamasıdır. En yakın test sunucusunu kullanır, ancak kullanıcı tarafından manuel olarak belirtilen birini de kullanabilir.

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

Daha fazla bilgi için

kullanın:

 ./tespeed.py  -h

hız testi için daha fazla seçenek sağlayacaktır.

    
verilen cevap pl_rock 12.09.2015 08:08
2

@ @@ @@@@@@@@@@@@@@@@@@@@@@@@ % Co_de% dizisinde test için kendi bağlantılarınızı koyabilir veya bunları dosyadan okuyabilirsiniz

#!/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 $TMP_PATH | grep total | awk '{print }')

echo "Cleaning up"
rm -rf $TMP_PATH

speed=$(expr $total_bytes / $TEST_TIME)

echo "Speed is $speed Kb/s"

exit 0
    
verilen cevap Darkside 24.03.2015 13:28
0

Ayrıca, İşte 'yi deneyebilirsiniz

Bir hız testi çalıştırmak için curl (iyi bilinen bir komut satırı yardımcı programıdır) kullanırlar.

Kısacası

wget İşte & amp; & amp; chmod u + x speedtest.sh & amp; & amp; bash speedtest.sh

    
verilen cevap user385795 07.03.2015 19:17
0

100MB’yi indirmenin ne kadar sürdüğünü test eden basit bir tek liner ( /bin/sh ’de de çalışır):

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

açıklama:

  1. zaman damgasını $ t olarak depolayın
  2. 100mb indirin, ancak hiçbir şeyi saklamayın
  3. 8 * 100mb / $t değerini hesaplayın
verilen cevap rubo77 29.08.2015 09:29

Etiketlerdeki diğer soruları oku